有以下程序 #include <stdio.h> double f(double x); main() { double a=0; int i; for(i=0;i<30;i+=10) a+=f((double)i); printf("%5.0f\n",a); } double f(double x) { return x*x+1;} 程序运行后的输出结果是 ______ 。
A. 503
B. 401
C. 500
D. 1404
答案:A
解析:通过for 循环,循环3次来调用 f 函数
第一次 i = 0 a += f((double)0) = 0 + 1 = 1; a = a + 1 = 1;
第二次 i = 10 a += f((double)10) = 100 + 1 = 101; a = a + 101 = 102;
第三次 i = 20 a += f((double)20) = 400 + 1 = 401; a = a + 401 = 503;
其中%5.0f表示输出的数据占5位,小数部分没有,不足5位的前面补空格。因此选A。