问题 填空题

【说明】 函数fun1 (int bb[])的功能是:在3位整数(100~999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,两位数字又相同,例如144、676等。 【函数2.11】 fun1 (int bb[]) { int i, j, k=0, g, s, b; for (i=100; i<=999; i++){ g=i%10; (1) b=i/100; if ((i== (int) sqrt (i) * (int) sqrt (i)) && (g==s‖s==b‖b==g)) (2) } return k; } 【函数2.2说明】 函数void fun2()的功能是:数组a中有300个四位数,求出数组a千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数CNT,再把所有满足此条件的四位数依次存入数组bb中,然后对数组bb的四位数按小到大的顺序进行排序。例如:9123,9-1-2-3>0,则该数满足条件存入数组bb中,且个数CNT=CNT+1,9812,9-8-1-2<0,则该数不满足条件,忽略。 【函数2.2】 void fun2 ( ) { int q,b,s,g,i,j; for (i=0;i<300;i++) {q=a[i]/1000; b=a[i]/100%10; s=a[i]/10%10; g=a[i]%10; if (q-b-s-g>0) (3) } for ( i=0;i<cnt-1;i++ ) for ( j=i+1;j<cnt;j++ ) if ( bb[i]>bb[j] ) { (4) bb[i]=bb[j]; (5) } }

答案

参考答案:s=i/10%10; (2) bb[k++]=i; (3) bb[cnt++]=a[i]; (4) q=bb[i]; (5) bb[j]=q;

填空题
单项选择题