填空题 请补充函数fun(),该函数的功能是:求100(不包括100)以内能被2或5整除,但不能同时被2和5整除的自然数。结果保存在数组bb中,函数fun()返回数组比元素的个数。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include <stdio.h> #define N 100 int fun (int bb [] ) { int i, j; for({{U}} {{U}} {{/U}} {{/U}};i<100; i++) if ((i%1!=0&&i%5==0)|| (i%2==0&&i%5 !=0) {{U}} {{U}} {{/U}} {{/U}}; {{U}} {{U}} {{/U}} {{/U}}; } main() { int i, n; int bb [N]; clrscr (); n=fun (bb); for(i=0; i<n; i++) { if (i%10==0) printf ("/n"); printf ("% 4d", bb [i]); } }
  • 1、
【正确答案】 1、[1] i=l, j=0 [2] bb[j++]=i [3]return j    
【答案解析】[解析] 填空1:题目要求找100以内的自然数,而自然数是从1开始的,所以i的初始值为1。变量j声明时没有初始化,所以在这里初始化为0,用来记录满足条件的自然数的个数。填空2:将满足条件的白然数存于数组bb中,下标加1是为了下一次存储做准备。填空3:题目要求fun()函数返回数组bb元素的个数,所以函数返回j。