C程序设计复习题答案 下载本文

void main( )

{ int *a,*b,*c, num,x,y,z; a=&x; b=&y; c=&z; printf(“输入3个整数:”); scanf(“%d%d%d”,a,b,c); printf(“%d,%d,%d\\n”, *a,*b,*c); num=*a;

if (*a>*b) num=*b ; if (num>*c) num=*c ; printf(“输出最小整数:%d\\n”, num); }

20.下面程序的功能是打印100以内个位数为6且能被3整除的所有数。请填空。 #include void main() { int i,j;

for(i=0; i<10 ;i++)

{ j=i*10+6;

if( j%3!=0 ) continue; printf(“%d ”,j); } }

四、编程题

1.给学生成绩,要求输出成绩等级‘A’‘B’‘C’‘D’‘E’。90分以上为‘A’,80-89分为‘B’,70-79分为‘C’,60-69分为‘D’,60分以下为‘E’。 #include void main() {

float score; char grade;

printf(\请输入学生成绩:\ scanf(\ while(score>100||score<0) { }

switch((int)(score/10)) {

11

printf(\输入有误,请重输!\scanf(\

case 10:

case 9: grade='A';break; case 8: grade='B';break; case 7: grade='C';break; case 6: grade='D';break; case 5: case 4: case 3: case 2: case 1:

case 0: grade='E'; }

printf(\成绩是%5.1f,相应的等级是%c.\\n\}

2.输入一数组各元素值,将这个数组中的值按逆序重新存放(如原来顺序为5,4,3,2,要求改为1,2,3,4,5)。 #include # define N 5 void main() { int a[N],i,temp; printf(\ for(i=0;i

scanf(\ printf(\ for(i=0;i

a[N-i-1]=temp;

}

printf(\ for(i=0;i

}

12

1

3、将一个2×3的二维数组中行与列的元素互换并存到另一个二维数组中。

设原数组的初值为{{1,2,3},{4,5,6}}。 参考程序:

#include void main( ) {int a[2][3]={{1,2,3},{4,5,6}}; int b[3][2],i,j; printf(\\n\for (i=0;i<=1;i++)

{for (j=0;j<=2;j++)

{printf(\,a[i][j]); b[j][i]= a[i][j]; /*行列元素互换*/ }

printf(\\n\}

printf(\\n\for (i=0;i<=2;i++)

{for(j=0;j<=1;j++)

printf(\,b[i][j]); printf(\\n\} }

4.用选择法对10个数排序(由小到大)。要求从键盘输入这10个数。 #include void main() {

int i, j, min, temp, a[11]; printf(“enter data: \\n”); for(i=1;i<=10;i++) {

printf(“a[%d]=”, i); scanf(“%d”,&a[i]);

}

printf(‘\\n”);

printf(“The orginal numbers:\\n”); for(i=1;i<=10;i++)

printf(“]”,a[i]); printf(“\\n”); for(i=1;i<=9;i++) {

min=i;

for(j=i+1;j<=10;j++)

if(a[min]>a[j]) min=j;

13

temp=a[i]; a[i]=a[min]; a[min]=temp;

}

printf(“\\nThe sorted numbers:\\n”); for(i=1;i<=10;i++) printf(“]”,a[i]); printf(“\\n”);

}

14