《C程序设计》谭浩强 第四版第6章课后答案清华大学出版社

C语言答案 时间:2017-04-28 我要投稿
【daxuesheng.hunaudx.com - C语言答案】

  第四版第6章《C程序设计》的课后答案大家核对了没有?以下是小编为大家整理推荐关于《C程序设计》谭浩强第四版第6章课后答案,希望对大家有所帮助。

  《C程序设计》谭浩强第四版第6章课后答案【1】

  6.1输入两个正整数m和n,求其最大公约数和最小公倍数。

  main()

  {long m,n,i=1,j,s;

  scanf("%ld,%ld",&m,&n);

  for(;i<=m&&i<=n;i++)

  {if(m%i==0&&n%i==0) s=i;}

  if(m>=n) j=m;

  else j=n;

  for(;!(j%m==0&&j%n==0);j++);

  printf("s=%ld,j=%ld\n",s,j);

  }

  6.2输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

  #include"stdio.h"

  main()

  {char c;int i=0,j=0,k=0,l=0;

  while((c=getchar())!=’\n’)

  {if(c>=65&&c<=90||c>=97&&c<=122) i++;

  else if(c>=48&&c<=57) j++;

  else if(c==32) k++;

  else l++;}

  printf("i=%d,j=%d,k=%d,l=%d\n",i,j,k,l);

  }

  6.3求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字。例如:2+22+222+2222+22222(n=5),n由键盘输入。

  #include"math.h"

  main()

  {int n,sum=0,i=1,s=2;

  scanf("%d",&n);

  while(i<=n)

  {sum=sum+s;s=s+2*pow(10,i);

  i++;}

  printf("sum=%d\n",sum);

  }

  6.4 求 ,(即求1!+2!+3!+4!+5!+…+20!)

  main()

  {int n,i=1;long sum=0,s=1;

  scanf("%d",&n);

  while(i<=n) {s=s*i;sum=sum+s;i++;}

  printf("sum=%ld\n",sum);

  }

  6.5 求

  main()

  {double i=1,j=1,k=1,s1=0,s2=0,s3=0,sum;

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

  for(;j<=50;j++) s2=s2+j*j;

  for(;k<=10;k++) s3=s3+1/k;

  sum=s1+s2+s3;

  printf("sum=%f\n",sum);

  }

  《C程序设计》谭浩强 第四版第6章课后答案【2】

  6.6打印出所有"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该本身。例如:153是一个水仙花数,因为153=1^3+5^3+3^3。

  #include"math.h"

  main()

  {int x=100,a,b,c;

  while(x>=100&&x<1000) {a=0.01*x;b=10*(0.01*x-a);c=x-100*a-10*b;

  if(x==(pow(a,3)+pow(b,3)+pow(c,3))) printf("%5d",x);x++;}

  }

  6.7一个数如果恰好等于它的因子之和,这个数就称为"完数"。例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。编程序找出1000之内的所有完数,并按下面格式输出其因子:

  6 its factors are 1、2、3

  main()

  {int m,i,j,s;

  for(m=6;m<10000;m++)

  {s=1;

  for(i=2;i

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

  if(m-s==0)

  {printf("%5d its fastors are 1 ",m);for(j=2;j

  printf("%d ",j);printf("\n");}

  }

  }

  或

  main()

  {int m,i,j,s;

  for(m=6;m<1000;m++)

  {s=m-1;

  for(i=2;i

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

  if(s==0)

  {printf("%5d its fastors are 1 ",m);for(j=2;j

  printf("%d ",j);printf("\n");}

  }

  }

  6.8有一分数序列:

  求出这个数列的前20项之和。

  main()

  {int i=1,n;double t,x=1,y=2,s,sum=0;

  scanf("%ld",&n);

  while(i<=n) {s=y/x;sum=sum+s;t=y;y=y+x;x=t;i++;}

  printf("%f\n",sum);

  }

  6.9一球从100米高度自由下落,每次落地后返回原高度的一半,再落下。求它在第10次落地时共经过多少米?第10次反弹多高?

  main()

  {int i,n;double h=100,s=100;

  scanf("%d",&n);

  for(i=1;i<=n;i++)

  {h*=0.5;if(i==1) continue;s=2*h+s;}

  printf("h=%f,s=%f\n",h,s);

  }

  6.10猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。

  main()

  {int i=1,sum=0;

  for(;i<=10;sum=2*sum+1,i++);

  printf("sum=%d\n",sum);

  }

  《C程序设计》谭浩强 第四版第6章课后答案【3】

  6.11用迭代法求 。求平方根的迭代公式为:

  要求前后两次求出的得差的绝对值少于0.00001。

  #include"math.h"

  main()

  {float x0,x1,a;

  scanf("%f",&a);

  x1=a/2;

  do

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

  while(fabs(x0-x1)>=0.00001);

  printf("%.3f\n",x1);

  }

  6.12 用牛顿迭代法求方程在1.5附近的根。

  main()

  {double x,y;x=1.5;

  do{y=2*x*x*x-4*x*x+3*x-6;

  x=x-y/(6*x*x-8*x+3);}

  while(y!=0);

  printf("x=%.3f\n",x);

  }

  6.13用二分法求方程在(-10,10)之间的根

  main()

  {double x1,x2,y1,y2;x1=-10;x2=10;

  do{y1=2*x1*x1*x1-4*x1*x1+3*x1-6;

  x1=x1-y1/(6*x1*x1-8*x1+3);}

  while(y1!=0);

  do

  {y2=2*x2*x2*x2-4*x2*x2+3*x2-6;

  x2=x2-y2/(6*x2*x2-8*x2+3);}

  while(y2!=0);

  printf("x1=%.3f,x2=%.3f\n",x1,x2);

  }

  6.14打印以下图案

  *

  * * *

  * * * * *

  * * * * * * *

  * * * * *

  * * *

  *

  #include"math.h"

  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("\n");

  }

  for(i=0;i<=2;i++)

  {for(j=0;j<=i;j++)

  printf(" ");

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

  printf("*");

  printf("\n");

  }

  }


猜你感兴趣:

1.《C程序设计》谭浩强 第四版课后答案完整版 清华大学出版社

2.C程序设计第三版 (谭浩强) 课后答案

3.C语言答案-学生范文网

4.C语言程序设计教程课后习题答案下载

5.《C程序设计》谭浩强 第四版 第五章 课后答案 清华大学出版社

热门文章