问题
填空题
以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。请填空。 main() { int i, a[20],sum, count; sum=count=0; for (i=0;i<20; i++)scanf("%d",(______); for(i=0;i<20; i++) {if(a[i]>0){ count++; sum+=(______);} } print f ( "sum=%d,count-%dkn" , sum, count); }
答案
参考答案:&a[i]或a+i a[i]或 *(a+i)
解析: 主函数中一开始定义了一个长度为20得整形数组,然后通过—个循环,循环20次给它的每个元素赋初值,所以在第一个空格处应填各个元素的地址,即填&a[1]或a+i,然后在通过一个循环执行20次,每循环一次,先判断该循环是否大于0,如果大于。将其累加到变量sum中,所以第二个空格处应该填入数组元素,所以应该填a[i]或*(a+i)。