1.下列程序的输出结果是16.00,请填(1)空使程序完整。 main ( )
{ int a=9,b=2;
float x=【1】 , y=1.1 , z; z=a/2+b*x/y+1/2;
printf(“%5.2f\\n”,z); }
2.以下程序输出x,y,z三个数中的最小值,请填(2)空使程序完整。 main ( )
{ int x=4,y=5,z=8 ; int u,v;
u = x scanf(“%d,%d”,&m,&n); while (n) { w=【1 】; m=【2 】; n=【3 】; } printf(“%d”,m); } 4.下面程序的功能是输出1至100之间每位数的乘积大于每位数的和的数,请填(3)空使程序完整。 main ( ) { int n,k=1,s=0,m ; for (n=1 ; n<=100 ; n++) { k=1 ; s=0 ; 【1 】; while (【2 】) { k*=m%10; s+=m%10; 【3 】; } if (k>s) printf(“%4d”,n); } } 5.下面程序段的功能是计算1000!的末尾有多少个零,请填(1)空使程序完整。 main ( ) { int i,k,m; for (k=0,i=5; i<=1000; i+=5) { m = i ; while (【1 】) { k++; m=m/5 ; } }printf(“%d”,k); } 6.下面程序接受键盘上的输入,直到按↙键为止,这些字符被原样输出,但若有连续的一个以上的空格时只输出一个空格,请填(3)空使程序完整。 main ( ) { char cx , front=’\\0’ ; while (【1 】!=’\\n’) { if (cx!=’ ’) putchar(cx) ; if (cx==’ ’) if (【2 】) putchar(【3 】); front=cx ;} } 7.下面程序可求出矩阵a的主对角线上的元素之和,请填(2)空使程序完整。 main ( ) { int a[3][3]={1,3,5,7,9,11,13,15,17} , sum=0, i, j ; for (i=0 ; i<3 ; i++) for (j=0 ; j<3 ; j++) if (【1 】) sum=sum+【2 】; printf(“sum=%d”,sum); } 8.下面程序将十进制整数base转换成n进制,请填(3)空使程序完整。 main ( ) { int i=0,base,n,j,num[20]={0}; scanf(“%d”,&n); scanf(“%d”,&base) ; do { i++; num[i]=【1 】; base=【2 】; } while (base!=0); for (【3 】) printf(“%d”,num[j]) ; } 9.下面程序的功能是输入10个数,找出最大值和最小值所在的位置,并把两者对调,然后输出调整后的10个数,请填(3)空使程序完整。 main ( ) { int a[10],max,min,i,j,k ; k=0;j=0; for (i=0; i<10; i++) scanf(“%d”,&a[i]); max=min=a[0]; for (i=0; i<10; i++) { if (a[i] 【3 】; for (i=0; i<10; i++) printf(“%d”,a[i]); } 10.下面程序用“插入法”对数组a进行由小到大的排序,请填(3)空使程序完整。 经典算法提示: 简单插入排序算法的基本思想使将数组处理n-1次,第k次处理是将第k个元素插入到目前的位置。第k次的元素是这样插入的:在第k次处理时,前面的元素a[0],a[1],„,a[k-1]必定已排成了升序,将a[k]与a[k-1],a[k-2],„a[0]逐个比较(由后向前),若有a[j]{ int a[10]={191,3,6,4,11,7,25,13,89,10} ; int i,j,k ; for (i=1; i<10; i++) { k = a[i] ; j = 【1 】;