又是几道c语言题目 菜鸟望高手解答

2024-12-28 22:21:56
推荐回答(4个)
回答1:


111

C2是ASCII码68d(十进制)表示的是D存储的是2进制44h

(20,100) X+25=45

乘法表的左下三角 即
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
。。。。。
9 18 27 36 45 54 63 72 81
以上每个数占4个“格子” 以保证输出格式化 看起来整齐


#include
#include
#include

void sort(int *a,int m)
{
int i=0,j=0,t=0;

for(i=0;ifor(j=0;jif(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}

int main()
{
int m=0,*a,i=0;

printf("please input m: ");
scanf("%d",&m);

a=(int *)malloc(m*sizeof(int));
if(a==NULL) return 0;

printf("please input the number: \n");
for(i=0;i {
printf("%d: ",i+1);
scanf("%d",&a[i]);
}

sort(a,m-1);

printf("The result is: \n");
for(i=0;i {
printf("%d ",a[i]);
}

getch();
return 1;
}



#include
#define ROW 3
#define COL 4
int main(viod)
{
int matrixA[ROW][COL],matrixB[COL][ROW];
int i,j;

printf( "Enter elements of the matrixA, ");
printf( "%d*%d:\n ",ROW,COL);
for( i=0; i {
for( j=0; j {
scanf( "%d ",&matrixA[i][j]);

}
printf ( "\n ");
}
printf( "MatrixB, ");
printf( "%d*%d:\n ",COL,ROW);
for( i=0; i {
for( j=0; j {
matrixB[j][i] = matrixA[i][j];
printf( "%8d ",matrixB[i][j]);
}
printf( "\n ");
}

printf( "\n Press Any Key to Quit... \n ");
getch();
}
的输出为什么是这样的
Enter elements of the matrixA,3*4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

MatrixB 4*3
1 2565248 2565168 2
2 6 2097184 3
3 7 11 4

回答2:

一。一个C程序总是从main函数开始执行的,执行incre()函数,它是调用一下下面的incre()函数,经过运行,x=x+1=0+1=1,格式输入函数printf()输出1,然后执行下一个incer()函数,与上一样。
二。既然是选择题,就按照他的选项来选,68和D都代表同样的意思吧。
三。因为,运算符比赋值运算符=优先级低,所以第一个括号里的值为100,但是第一个表达式已经运算过了,所以x为20,x+25为45
四。从上运行,先取i=1,j=1,因为1==1,所以执行1*1=1,接着执行j=2,但是1>=2不成立,所以接着执行'\n',即换行。接着再从头开始,取i=2,j=1,2>=1,所以执行2*1=2,接着取j=2,2==2,所以执行2*2=4,接着取j=3,2>=3不成立,所以执行'\n',换行,再从头开始......
所以答案为
1
2 4
3 6 9
4 8 12 16
5 10 15 20 25
6 12 18 24 30 36
7 14 21 28 35 42 49
8 16 24 32 40 48 56 64
9 18 27 36 45 54 63 72 81
上面两题程序题我觉得楼上的人都写得很详细,我就不写了

回答3:

楼上正解 5 6给你写一下吧.

5 就是一个冒泡排序。

maopao(int arr[],int len)
{
for(int i=0;i {
for(int j=i+1;j {
if(arr[i] {
int temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
}
}
}
main(){

int arr[5]={1,2,3,4,5};
maopao(arr,5);
for(int i=0;i<5;i++)
{
printf("%d\n",arr[i]);
}
}

_____________________________________

6 这个太多了. 实在不爱写. 就是二维数组.然后循环 循环 再循环...

_________________

你最后说这个是取余. 12除不开100 所以运行结果还是12.

————————————

建议系统的学一下吧 这些都是比较基础的东西。

回答4:

第一题,结果111,第二题,看你是用什么格式输出了,A为字符输出,68为整型输出,第三题,结果为45,只有x=4*5对x有影响,x+=25为45,第四题结果…太多了,不做了,自己运行下吧,都是简单的题目