新编C语言程序设计教程练习五参考答案(4)

2020-06-03 15:07

或者:

5.28 三位数xyz和yzz的和为532,编程计算x、y、z 分别是几?

5.29 编程求出两个正数m和n的最大公约数。

提示1:用穷举法。注意循环时是从大到小好还是从小到大好。

提示2:设n除以m的商为q余数为r,如果r为0,则m、n的最大公约数为n,否则有m=n*q+r。此时显然有m、n的公约数也是n和r的公约数,即m和n的最大公约数与n和r的最大公约数相同,所以只要求出n和r的最大公约数就可,重复该过程直到余数为0求出最大公约数为止。如m =12,n=21时,过程如下

次 数 1 2 3 4 m 12 21 12 9 n 21 12 9 3 r 12 9 3 0 所以12和21的最大公约数为3。 答案:穷举法

辗转相除法

5.30 根据公式e?1?111??……? 编程求e的近似值,精度要求为10?6。 1!2!n!

5.31 输入正整数a(1?a?9)和n的值,编程求出a+aa+??+a??a(最后一个也就是第n个加数由n个a组成)的和。

5.32 下面程序的功能是求2323的个、十、百位上的数字之和。请把程序补充完整。

#include void main( ) {

int i, p = 1, t = 0; for(i=1; i<=23; ++i)

p = p * 23 % 1000; do {

t += ; p = ; }while( );

printf(\的23次方的个、十、百位上的数字和为%d。\\n\}

5.33 计算n!(n<10000)的末尾有多少个零。(提示:考虑每个因数含有几个5)

5.34 编程将一个正整数分解质因数。例如,输入20,输出20=2*2*5。请分析下面的两个程序。

1. #include void main( ) {

int m, i;

printf(\请输入一个正整数:\ scanf(\ printf(\ for(i=2; i

while(m != i) if(m % i == 0)

{

printf(\

m /= i;

}

break;

}

printf(\}

2. #include

void main( ) {

int m, i;

printf(\请输入一个正数:\scanf(\printf(\for(i=2; m!=1; ++i)

if(m % i == 0) else

{

printf(\m /= i; i -= 1; }

printf(\}

5.35 我国有4大淡水湖。甲说:洞庭湖最大,洪泽湖最小,鄱阳湖第三。乙说:洪泽湖最大,洞庭湖最小,鄱阳湖第二,太湖第三。丙说:洪泽湖最小,洞庭湖第三。丁说:鄱阳湖最大,太湖最小,洪泽湖第二,洞庭湖第三。四个人每人仅答对了一个,请编程给出四个湖从大到小的顺序。(提示:C语言中真为1,假为0,故由甲的判断构成的逻辑表达式的值加起来应为1,因为甲仅答对了一个)


新编C语言程序设计教程练习五参考答案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:宁波级学会属企事业单位科协月度工作报表

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

马上注册会员

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