1、第五章习题参考源程序
5.1输入 入个正整数M和N,求其中最大公约数和最小公倍数
#include
2、0)) break; } printf("%u\n",i); if (i>1) {printf("These two number have maxgy=%u\n",i); mingb=i*(m/i)*(n/i); printf("The two number have mingb=%u\n",mingb); } else {printf("These two number have maxgy=%d\n",i); printf("These two number have mingb=%u\n"
3、m*n);}
}
5.2输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数
#include
4、0' && c<='9') num_count++; else if (c==32) space_count++; else other_count++; } printf("The number of character is:%d\n",char_count); printf("The number of charcter is :%d\n",num_count); printf("the number of space is :
5、d\n",space_count);
printf("The number of other symbol is :%d\n",other_count);
}
5.3 求Sn=a+aa+aaa+….aaaaaa之值,其中a是一个数字。例如:2+22+222+2222+22222(此时n=5),n由键盘输入。
#include
6、n;i++)
{ sum+=a;
a=a*10+b;
}
printf("The result of this equation is :%d\n",sum);
}
5.4 求
#include
7、 m*=j;
sum+=m;
}
printf("The number of N is :%d\n",n);
printf("The sum of N! is :%ld\n",sum);
}
5.5 打印出所有的“水仙花数”,所谓:“水仙花数”是指一个3位数,其各位数字立方和等腰三角形于该数本身。例如153是一水仙花数,因为 153=13+53+33
#include
8、) {c3=n/100; c2=(n-c3*100)/10; c1=(n-c3*100-c2*10)/1; if (n==c3*c3*c3+c2*c2*c2+c1*c1*c1) printf("The number is a shuixian flower :%d\n",n); } } 5.6 一个数如果恰好等腰三角形于它的因子之各,这个数就称为“完数”。例如,6的因子是1,2,3,而6=1+2+3,因些6是:“完数”。编程序找出1000之内的所有完数,并按下面格式输出其因子。 6 is factors are 1,2,3
9、
#include 10、d,",i);
printf("\n");
}
}
}
5.7 有一个分数序列 求出这个数列的前20项之和。
#include 11、um of %f\n",sum);
for (n=3;n<12;n++)
{ a1=a1+a2;
b1=b1+b2;
sum+=b1/a1;
printf(" %d sum of %f\n",n,sum);
a2=a2+a1;
b2=b2+b1;
sum+=b2/a2;
printf(" %d sum of %f\n",n,sum);
}
}
5.8 猴子吃桃子问题。猴子第一天摘下若有干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉了一半,又多 12、吃了一个。以后每天早上都吃了前一天剩下一的一半零一个。到第10天早上想吃时,就只剩下一个桃子了。求第一个共摘多少桃子。
#include 13、 }
5.8 用迭代法求。求平方根的迭代公式为,要求前后两次求出的x的差的绝对值小于10-5。
#include 14、注意:在进行实数运算时,1等数要写成1.0*/
printf("x1 %f\n",x1);
x2=1.0/2*(x1+a/x1);
printf("x2 %f\n",x2);
while(fabs(x2-x1)>1e-5)
{
x1=1.0/2.0*(x2+a/x2);
printf("x1 %f\n",x1);
x2=1.0/2.0*(x1+a/x1);
printf("x2 %f\n",x2);}
}
printf("the value of sqrt(a) i 15、s :%10.4f\n",x1);
}
5.10打印出以下图案
*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*
#include 16、i=1;i<=n;i++)
if (i<=(n+1)/2)
{for (j=1;j<=(n+1)/2-i;j++)
printf(" ");
for (j=1;j<=2*i-1;j++)
printf("*");
printf("\n"); }
else
{ for (j=1;j<=i-(n+1)/2;j++)
printf(" ");
for (j=1;j<=n-(i-(n+1)/2)*2;j++)
printf("*");
printf("\n");
}
}
5
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818