问答题
给定程序中,函数fun的作用是:不断从终端读入整数,由变量a统计大于0的个数,用变量c来统计小于0的个数,当输入0时结束输入,并通过形参pa和pb把统计的数据传回主函数进行输出。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:源程序存放在BLANKl.C中。不得增行或删行,也不得更改程序的结构!试题程序: #include<stdio.h> void fun(int*px,int*py) { /***********found***********/ int [1]; scarnf(“%d”,&k); /***********found***********/ while[2] {if(k>0)a++; if(k<0)b++; /***********found***********/ [3]; } *px=a;*py=b; } main() {int x,y; fun(&x,&y); printf(“x=%d y=%d\n”,x,y); {
【正确答案】正确答案:(1)a=0,b=0,k (2)(k!=0) (3)scanf(“%d”,&k)
【答案解析】解析:填空1:下面的scanf函数用到变量k,需要提前定义,在while循环中使用了临时存放正、负数个数的变量a,b,因此也要提前定义。 填空2:根据题意,输入0时结束程序,因此当k!=0时进入循环记录正负数的个数。 填空3:需要不断从终端输入整数,因此在循环体内添加输入操作。