概述
谭浩强C程序设计第四版第五章课后答案
2.测试一下一个是5000001次一个是50000001次
3.最大公约数用辗转相除法,最大公约数与最小公倍数的乘积正好是两个数的乘积
#include <stdio.h>
int main()
{
int m,n;
scanf("%d%d",&m,&n);
int t;
if ( m < n )
{
t = m;
m = n;
n = t;
}
//辗转相除法求得最大公约数
int a = m,b = n;
while( m % n)
{
t = m % n;
m = n;
n = t;
}
printf("最大公约数为 : %dn最小公倍数为 : %dn",n,a * b/n);
return 0;
}
4.getchar()遇到’n’停止
#include <stdio.h>
int main()
{
char c;
int character = 0,space = 0,number = 0,other = 0;
while( (c = getchar()) != 'n')
{
if ( c >= 'A' && c <= 'Z' || c >= 'a' && c <= 'z')
{
character++;
}
else if ( c >= '0' && c <= '9')
{
number++;
}
else if ( c == ' ')
{
space++;
}
else
other++;
}
printf("字母有 %d 个。n",character);
printf("数字有 %d 个。n",number);
printf("空格有 %d 个。n",space);
printf("其他有 %d 个。n",other);
return 0;
}
5.找规律
#include <stdio.h>
int main()
{
int a,n,s = 0;
scanf("%d%d",&a,&n);
int a1 = a;
for ( int i = 0;i < n;i++)
{
s = s + a;
a = a * 10 + a1;
}
printf("s = %dn",s);
return 0;
}
6.求前20项阶乘和
#include <stdio.h>
int main()
{
int jc = 1;
int sum = 0;
for ( int i = 1;i <= 20;i++)
{
for ( int j = 1;j <= i;j++)
{
jc = jc * j;
}
sum = sum + jc;
}
printf("sum = %d",sum);
return 0;
}
7.注意范围,多两个判断可以少两个循环
#include <stdio.h>
int main()
{
double sum = 0.0;
for ( int i = 1;i <= 100;i++)
{
if ( i <= 50)
{
if ( i <= 10)
{
sum = sum + i + i * i + 1.0/i;
}
else
sum = sum + i + i * i;
}
else
sum = sum + i;
}
printf("sum = %f",sum);
return 0;
}
8.水仙花数、判断
#include <stdio.h>
int main()
{
int a;
scanf("%d",&a);
if ( a == (a/100)^3 + (a / 10 % 10)^3 + (a % 10)^3)
{
printf("%d 是一个水仙花数。n",a);
}
else
printf("%d 不是一个水仙花数。n",a);
}
9.完数:从2开始求因子,求和判断
#include <stdio.h>
int main()
{
int n,s = 0;
scanf("%d",&n);
for (int i = 2;i <= n;i++)
{
if ( n % i == 0)
{
s = s + n/i;
}
}
if ( s == n)
{
printf("%d 是一个完数n",n);
}
else
printf("%d 不是一个完数n",n);
return 0;
}
10.找规律
#include <stdio.h>
int main()
{
double up = 2.0,down = 1.0,sum = 0.0;
for (int i = 0;i<20;i++)
{
sum = up/down + sum;
int t = up;
up = down +up;
down = t;
}
printf("sum = %6.2lfn",sum);
return 0;
}
11.皮球落地问题
#include <stdio.h>
int main()
{
double height = 100.0,s = 100.0;
for (int i = 1;i < 10 ;i++)
{
height = height/2;
s = s + height * 2;
}
printf("第10次高度为 height = %lfn总路径长为 s = %lfn",height,s);
return 0;
}
12.猴子吃桃问题,可以把摘桃那天看成吃桃的前一天,避免考虑太多
// 例12猴子吃桃.cpp
//Sn-1 = Sn /2 - 1
// Sn = (Sn-1 + 1) * 2
#include "stdio.h"
int main()
{
int S = 1;
for (int i = 0;i < 10;i++)
{
S = 2 * ( S + 1 );
}
printf("第一天共摘了 %d 个桃子。n",S);
return 0;
}
13.迭代法求根号a。
#include <stdio.h>
#include <math.h>
int main()
{
double x1 = 1.0,x2 = 0,t = x1,a;
scanf("%lf",&a);
while(fabs(t - x2) > 1e-5)
{
x2 = 0.5 * ( x1 + a / x1);
t = x1;
x1 = x2;
}
printf("根号a = %lf",x1);
return 0;
}
14.牛顿法求方程根
#include <stdio.h>
#include <math.h>
int main()
{
float x = 1.5;
float x0 = 0;
float f;
float fd;
while(fabs(x - x0)>= 1e-5)
{
x0 = x;
f = 2 * x0 * x0 * x0 - 4 * x0 * x0 + 3 * x0 - 6;
fd = 3 * 2 * x0 * x0 - 2 * 4 * x0 +34;
x = x0 - f / fd;
}
printf("解为 %lf n",x);
return 0;
}
15.二分法求方程根
#include <stdio.h>
#include <math.h>
double EPS = 1e-6;
int main()
{
double x1 = -10, x2 = 10,y;
double x;
x = x1+(x2-x1)/2;
y = 2 * x*x*x - 4 * x * x + 3 * x - 6;
while( fabs(y) > EPS) {
if( y > 0 )
x2 = x;
else
x1 = x;
x = x1+(x2 - x1)/2;
y = 2 * x*x*x - 4 * x * x + 3 * x - 6;;
}
printf("%.6fn",x);
return 0;
}
16.输出图案
#include <stdio.h>
int main()
{
for (int i = 1;i <= 4 ;i++)
{
for ( int j = 3 - i + 1; j > 0 ;j--)
{
printf(" ");
}
for (int k = 0;k < i * 2-1;k++)
{
printf("*");
}
printf("n");
}
int k = 5;
for ( int i = 1; i <= 3;i++)
{
for (int j = 0;j < i;j++)
{
printf(" ");
}
for(int m = 0;m < k;m++)
{
printf("*");
}
printf("n");
k = k - 2;
}
return 0;
}
17.乒乓球比赛,这题还蛮有意思的,主要学会建立模型
#include <stdio.h>
int main()
{
for (int i = 0;i < 3;i++)
{
for (int j = 0;j <3;j++)
{
//A和B的对手不能一样
if ( i != j)
{
for (int k = 0;k < 3;k++)
{
//C和AB的对手都不一样
if ( k != i && k!= j)
{
//A不和X比 C不和X和Z比
if ( i != 0 && k != 0 && k != 2)
{
printf("A---%cnB---%cnC---%cn",i + 'X',j + 'X',k + 'X');
}
}
}
}
}
}
return 0;
}
最后
以上就是魁梧冷风为你收集整理的谭浩强C程序设计第四版第五章课后答案谭浩强C程序设计第四版第五章课后答案的全部内容,希望文章能够帮你解决谭浩强C程序设计第四版第五章课后答案谭浩强C程序设计第四版第五章课后答案所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复