数学科学学院C语言复习资料
e b c g f D main() {
static char ss[4][3]={'A','a','f','c','B','d','e','b','C','g','f','D'}; int x,y,z;
for(x=0; 【1】 ;x++) for(y=0; 【2】 ;y++) {z=x+y; if( 【3】 ) printf(\%c\n\,ss[x][y]); } }
13、以下程序中,select函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标,请填空。
#define N 3 #define M 3
select(int a[N][M],int *n) {int i,j,row=0,colum=0; for(i=0;i if(a[i][j]>a[row][colum]){row=i;colum=j;} *n=row; return( ); } main() {int a[N][M]={9,1l,23,6,1,15,9,17,20},max,n; max=select(a,&n); printf("max=%d,line=%d\\n"),max,n); } 14、以下程序实现检查任意输入的字符串s中左括号的个数是否与右括号的个数相同 并且按从左到右的顺序查找右括号的个数在任何时候都不超过之前所遇到的左括号的个数。若满足条件则输出“符合要求”,否则输出“不符合要求”。请填空。 #include int i=0,j=0; while(*s!='\\0') 41 数学科学学院C语言复习资料 { if(*s=='(') i++; else if(*s==')') { j++; if( 【1】 ) return 0; } 【2】 } if(i==j) return 1; else return 0; } void main() { char s[50]; int n; printf(\请输入一个字符串: \gets(s); n=f(s); if(n) printf(\符合要求\\n\else printf(\不符合要求\\n\} 15、有一个一维数组,内放10个学生的成绩,函数可求出平均分,最高分和最低分。 ① ; float average( ② , int n) {int i; float aver,sum=array[0]; max=min=array[0]; for(i=1;i {if(array[i]>max) ③ ; else if(array[i] } 42 数学科学学院C语言复习资料 aver=sum/n; return (aver); } main() { float ave, score[10]; int i; for(i=0;i<10;i++) scanf(“%f”,&score[i]); ave=average(score,10); printf(“max=%f\\nmin=%f\\naverage=%f\\n”,max,min,ave); } 16、输入n值后,利用递归求sum=13+23+33+?+n3的值。(设n<11) float f(int n) { if( ① ) return(1); else return( ② ); } main() { ③ ; scanf(“%d”,&n); printf(“sum=%f”,f(n)); } 17、以下程序输入整数a,b的值,然后交换a,b的值,并输出交换后的结果。 void swap ( ① ) {int t; t=*a; ② ③ } main() {int a,b; scanf(“%d,%d”,&a,&b); ④ printf(“a=%d,b=%d”,a,b); } 18、输入一个字符,判断它是否为大写字母,如果是大写字母,输出”Upper”,否则输 出”Lower or Other” main() 43 数学科学学院C语言复习资料 { char ch; printf(\ scanf(\ if( (2) && (3) ) printf(\ else (4) ; } 19、一个函数如下,用程序实现之。 main() { float x,y; scanf(“%f”,&x); if(x<2) y=x; else if( (5) ) y= (6) ; else y= (7) ; printf(“y=%f”,y);} 20、打印9×9乘法表。输出格式要求为: 1*1=1 2*1=1 2*2=4 44 数学科学学院C语言复习资料 3*1=3 3*2=6 3*3=9 ??????????????? main() { int m,n; for(m=1;m<=9;m++) { for(n=1;___(8)___;n++) printf(“ (9) ”,m,n,m*n); _____(10)______; } } 21、求出200以内的正整数中,最大的可以被17整除的数是哪个数。 #include for( (1) ; (2) ;i--) {if( (3) )break;} printf(\\n\ (4) ); } 22、以下程序将数组中的数据按逆序存放 #include for(i=0;i {t=a[i]; (3) ; (4) ;i++;j (5) ;} for(i=0;i 45