2013自考“高级语言程序设计”习题答案详解(13)
6.编一个程序,输入10个整数,统计并输出其中正数、负数和零的个数。
「解」输入10个整数,统计其中正数、负数和零的个数。程序引入3个计数器变量,用于统计大于以小于0和等于0的整数的个数。开始时,这3个计数器都置0,然后用循环逐一输入10个整数,并判定当前输入的整数是大于0,或小于0,或等于0,并按判定结果累加相应计数器。最后,程序输出这3个计数器的值。程序如下:
# include
main()
{ int i,d,n,z,p;/*变量定义*/
n=Z=p=0;
for(i=1;i<=10;i++) {
print(“ 输入第%d个整数”, i);
scanf(“%d”,&d);
if(d<0)n++;
else if(d>0)p++;
else z++;
}
printf(“负数有%d个,正数有%d个,零有%d个。\n”,n,p,z);
}
7.编程序,按下列公式计算e的值(精度为1e-6):
e=1+1/1!+1/2!+1/3!+…+1/n!+…
「解」按e的幂级数展开式计算e的值。这是典型的求级数和计算问题。通常采用逐项计算,并累计的方法。计算新的项时,可用上一轮循环计算出的项,这能提高程序的效率。循环直至当前项的值小于精度要求结束。程序如下:
# include
main()
{ double e,t,i;/*变量定义*/
e=0.0;t=1.0;i=1.0;
while(t>=1.0e-6) {
e+=t;
t/= i;
i+= 1.0;
}
printf(“e=%.6f\n”, e);
}
8.编程序,按下列公式计算y的值(精度为1e-6):
y=∑1/r*r+1
「解」按所给公式计算数列的和。类似上一小题的解,逐项计算并累计。程序如下:
# include
main()
{ double y,r,t;/*变量定义*/
y=0.0;r=1.0;
while((t=1.0/(r*r+1.0))>=1.0e-6) {
y+=t;
r+=1.0;
}
printf(“y=%.6f\n”, y);
}
最新资讯
- 备考资料:2024年自考《英语二》阅读判断模拟试题2024-04-05
- 2024年4月自学考试《马克思主义基本原理概论》模拟题——简答题2024-03-23
- 2024年4月自学考试《马克思主义基本原理概论》模拟题——论述题2024-03-21
- 2021年10月自考《思修》考前2天冲刺卷2021-10-14
- 2021年10月自考《马克思主义基本原理概论》考前2天冲刺卷!2021-10-14
- 2021年10月自考《中国近现代史纲要》模拟题(五)2021-08-01
- 2021年10月自考《中国近现代史纲要》模拟题(四)2021-07-31
- 2021年10月自考《中国近现代史纲要》模拟题(六)2021-07-30
- 2021年10月自考《中国近现代史纲要》模拟题(三)2021-07-30
- 2021年10月自考《中国近现代史纲要》模拟题(二)2021-07-29