《C程序设计(第三版)》习题(编程题)解答(3)

2020-02-21 15:47

{s2=s2+k*k;}

for (k=1;k<=n3;k++) /*计算1到10的各倒数和*/ {s3=s3+1/k;}

printf(\ } 6.6

#include void main() {

int i,j,k,n;

printf(\ for (n=100;n<1000;n++) {

i=n/100; j=n/10-i*10;

k=n;

if (n==i*i*i + j*j*j + k*k*k) printf(\ } printf(\ } 6.7

方法一:

#define M 1000 /*定义寻找范围*/ #include

void main() {

int k1,k2,k3,k4,k5,k6,k7,k8,k9,k10;

int i,a,n,s;

for (a=2;a<=M;a++) /* a是2-1000之间的整数,检查它是否完数 */ {n=0; /* n用来累计a的因子的个数 */

s=a; /* s用来存放尚未求出的因子之和,开始时等于a */ for (i=1;i

{n++; /* n加1,表示新找到一个因子 */

s=s-i; /* s减去已找到的因子,s的新值是尚未求出的因子之和 */ switch(n) /* 将找到的因子赋给k1...k9,或k10 */ {case 1:

k1=i; break; /* 找出的笫1个因子赋给k1 */ case 2:

k2=i; break; /* 找出的笫2个因子赋给k2 */ case 3:

11

k3=i; break; /* 找出的笫3个因子赋给k3 */ case 4:

k4=i; break; /* 找出的笫4个因子赋给k4 */ case 5:

k5=i; break; /* 找出的笫5个因子赋给k5 */ case 6:

k6=i; break; /* 找出的笫6个因子赋给k6 */ case 7:

k7=i; break; /* 找出的笫7个因子赋给k7 */ case 8:

k8=i; break; /* 找出的笫8个因子赋给k8 */ case 9:

k9=i; break; /*找出的笫9个因子赋给k9 */ case 10:

k10=i; break; /* 找出的笫10个因子赋给k10 */ }

}

if (s==0) {

printf(\

if (n>1) printf(\ /* n>1表示a至少有2个因子 */ 因子 因子

if (n>2) printf(\ /* n>2表示至少有3个因子,故应再输出一个*/

if (n>3) printf(\ /* n>3表示至少有4个因子,故应再输出一个*/

if (n>4) printf(\ /* 以下类似 */ if (n>5) printf(\ if (n>6) printf(\ if (n>7) printf(\ if (n>8) printf(\ if (n>9) printf(\ printf(\ } } }

方法二: #include void main() {int m,s,i;

for (m=2;m<1000;m++) {s=0;

for (i=1;i

if ((m%i)==0) s=s+i; if(s==m)

12

{printf(\ for (i=1;i

#include void main() {

int i,n=20;

double a=2,b=1,s=0,t; for (i=1;i<=n;i++) { s=s+a/b; t=a, a=a+b, b=t; }

printf(\ } 6.9

#include void main()

{

double sn=100,hn=sn/2; int n;

for (n=2;n<=10;n++) {

sn=sn+2*hn; /*第n次落地时共经过的米数*/ hn=hn/2; /*第n次反跳高度*/ }

printf(\第10次落地时共经过%f米\\n\ printf(\第10次反弹%f米\\n\ } 6.10

#include void main() {

int day,x1,x2;

13

day=9;

x2=1;

while(day>0)

{x1=(x2+1)*2; /*第1天的桃子数是第2天桃子数加1后的2倍.*/ x2=x1; day--; }

printf(\ }

6.11

#include #include void main() {

float a,x0,x1;

printf(\ scanf(\ x0=a/2; x1=(x0+a/x0)/2; do

{x0=x1;

x1=(x0+a/x0)/2;

}while(fabs(x0-x1)>=1e-5);

printf(\ is %8.5f\\n\ }

6.12

#include #include void main()

{double x1,x0,f,f1; x1=1.5; do

{x0=x1;

f=((2*x0-4)*x0+3)*x0-6; f1=(6*x0-8)*x0+3; x1=x0-f/f1;

}while(fabs(x1-x0)>=1e-5);

printf(\ }

6.13

#include

14

#include void main()

{float x0,x1,x2,fx0,fx1,fx2; do

{printf(\ scanf(\ fx1=x1*((2*x1-4)*x1+3)-6; fx2=x2*((2*x2-4)*x2+3)-6; }while(fx1*fx2>0); do

{x0=(x1+x2)/2;

fx0=x0*((2*x0-4)*x0+3)-6; if ((fx0*fx1)<0) {x2=x0; fx2=fx0; } else {x1=x0; fx1=fx0; }

}while(fabs (fx0)>=1e-5); printf(\ } 6.14

#include void main()

{int i,j,k;

for (i=0;i<=3;i++) {for (j=0;j<=2-i;j++) printf(\

for (k=0;k<=2*i;k++) printf(\ printf(\ }

for (i=0;i<=2;i++) {for (j=0;j<=i;j++) printf(\

for (k=0;k<=4-2*i;k++) printf(\ printf(\ } }

15


《C程序设计(第三版)》习题(编程题)解答(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:关于进一步加强建筑工地职工夜校管理的通知

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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