C语言程序设计答案(第三版)杜友福版

2026/4/27 23:49:39

4. 编写程序,计算并输出下列级数的前n项之和Sn。n的值从键盘输入。

#include void main() {

int fz,fm,n,i; float s,t;

fz=2;fm=1;s=0; scanf(\ for(i=1;i<=n;i++) {

t=(1.0*fz)/fm; s=s+t; fz=fz+fm; fm=fz-fm; }

printf(\}

5.编写程序,求e的值e=1+1/1!+1/2!+1/3!+1/4!+…+1/n! #include void main() {

int n,i;

float t,fm=1,e=1; scanf(\ for(i=1;i<=n;i++) { fm=fm*i; t=1.0/fm; e=e+t; } printf(\}

6. 已知某球从80米高度自由落下,落地后反复弹起,每次弹起的高度都是上次高度的一半。求此球8次落地所经过的总路程。 #include void main() {

int n;

float s=80,h=s/2;

for(n=2;n<=8;n++) { s=s+2*h; h=h/2; }

printf(\}

7. 用牛顿迭代法求高次方程f(x)=2x3-4x2+5x-18=0的根(约为2.466)。

注:牛顿迭代公式为:x2=x1-f(x1)/f’(x1),其中f’(x1)为导函数在点x1的值。 #include #include void main() {

float x,f,f1;

x=8; // x的初值可为任意值 do { f=2*x*x*x-4*x*x+5*x-18; f1=6*x*x-8*x+5; x=x-f/f1; }while(fabs(f)>0.00001); printf(\}

8. 有这样一些真分数:其分子和分母都是两位正整数,且分子的个位数与分母的十位数相同,如果把该分数的分子的个位数与分母的十位数同时去掉,所得到的新的分数正好与原分数的值相等,如26/65=2/5。试编程求出所有满足上述条件的真分数。 #include void main() {

int a,b,c; // 设这个分数为ab/bc for(a=1;a<=9;a++) for(b=1;b<=9;b++) for(c=1;c<=9;c++) if((a

9. 编写程序,求数列:1,(1+1/2)(1+1/2+1/3),(1+1/2+1/3+1/4),(1+1/2+1/3+1/4+1/5),,…的前10项之和。

#include void main() {

float s,t; int i; s=0,t=0;

for(i=1;i<=10;i++) { t=t+1.0/i; s=s+t; } printf(\}

10. 编写程序,求3到100之间的所有素数之和。 #include void main() {

int s,i,k,flag; s=0;

for(i=3;i<=100;i++)

{ flag=1;

for(k=2;k

printf(\}

11. 编写程序,求Fibonacci数列中大于800的最小的一个数(结果为987)。 #include void main() {

int f1=1,f2=1,f3; while(f3<=800) {

f3=f1+f2;

f1=f2; f2=f3; }

printf(\数列中大于800的最小数是]\\n\}

习题六 一、选择题

1~10:D D C B A B C D C D 11~20:A B B C C D C A B B 21~30:B B D D D D C D C A

注:第16题答案C为:字符串\与\相等

第19题题目为:已知:char str1[10],str2[10]={\则在程序中能够将字符串 \赋给数组str1的正确语句是。

第21题题目为:设有:char str1[20]=\则执行语句: printf(\的结果是。 第28题答案D为: aaaa bbbb

cccc dddd

二、填空题

1. 9 、 0 2.先行后列 3.字符数组

4. QuickC

5. (c=getchar( )) 、 'A'+i或65+i 6. '\\0' 、 str1[i]-str2[i] 7. CDABC 8. 6

9. 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1

10. 600 11. AzyD

12. 4 some string *test

三、编程题

1. 定义一个有20个元素的整型数组,分别求出下标为奇数和偶数的元素的平均值。 #include #include void main() {

int i,s0=0,s1=0,a[20]; for(i=0;i<20;i++) a[i]=rand()0; for(i=0;i<20;i+=2) { printf(\ s0=s0+a[i]; }

printf(\ sum is:%d ave=%f\\n\ for(i=1;i<20;i+=2) { printf(\ s1=s1+a[i]; }

printf(\ sum is:%d ave=%f\\n\ }

2. 设有一个整型数组,另输入一个整数,编程查找这个整数是否在数组中出现过,若出现,则输出第一次出现的位置,否则,输出no found。 #include #include void main() {

int i,s,a[20];

for(i=0;i<20;i++) a[i]=rand()0; scanf(\ for(i=0;i<20;i++) if(a[i]==s) { printf(\


C语言程序设计答案(第三版)杜友福版.doc 将本文的Word文档下载到电脑
搜索更多关于: C语言程序设计答案(第三版)杜友福版 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219