教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

C程序设计(红皮书)习题官方参考答案(1-7章)(计老师)(3)

来源:网络收集 时间:2025-04-24
导读: 第5章习题 一、选择题 1 B 2 C 3 B 4 C 5 A 6 B 7 D 8 B 9 A 10 B 二、填空题 1. 循环 switch 2. 4,7 3. 6 4. # # 5. 0 2 6. 18 7. 1 8. sum=80 9. c=getchar() n:m 10. i = =0 break 三、程序分析题 1. output1:21

第5章习题 一、选择题

1 B 2 C 3 B 4 C 5 A 6 B 7 D 8 B 9 A 10 B 二、填空题

1. 循环 switch 2. 4,7 3. 6 4. # # 5. 0 2 6. 18 7. 1

8. sum=80

9. c=getchar()

n:m

10. i = =0

break 三、程序分析题

1. output1:21 6 output2: 5 6 output3: 5 7 7 2. n=7 3. Max=18 Min=3 4. 1*1=1

2*1=2 2*2=4

3*1=3 3*2=6 3*3=9 5. 0 1 2 3 1 2 3 0 2 3 0 1 3 0 1 2

四、编程题

1. 从键盘上输入若干字符,以按Enter键结束,统计其中字符A或a的个数。

#include \main() { char ch; int k=0;

while((ch=getchar())!='\\n') { if(ch=='A' || ch=='a') k=k+1; } printf(\}

2. 利用?=?????×100项之积计算?的值。 ??的前... #include

main() {

double term, result = 1; /*累乘项初值应为1*/ int n;

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

term=(double)( n * n)/((n-1)*(n+1)); /*计算累乘项*/ result = result * term; }

printf(\}

3. 用1元5角钱人民币兑换5分、2分和1分的硬币(每一种都要有)共100枚,问共有几种兑换方案?每种方案各换多少枚?

#include

main() {

int x,y,z,count=0; for(x=1;x<=28;x++) for(y=1;y<=73;y++) { z=100-x-y; if(5*x+2*y+z==150) { count++; printf(\ } }

printf(\}

4. 鸡兔同笼,共有98个头,386只脚,编程求鸡、兔各多少只。

#include main()

{ int x, y;

for (x=1;x<=97;x++) { y=98-x; if(2*x+4*y==386)

??2224466133557 printf(\鸡=%d,兔=%d\ } }

5. 将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

#include main() {

int n,i;

printf(\ scanf(\ printf(\ for(i=2;i<=n;i++) while(n!=i) {

if(n%i==0)

{ printf(\ n=n/i; }

else break; }

printf(\

6. 从键盘任意输入一个4位数x,编程计算x的每一位数字相加之和。例如,输入x为1234,则由1234分离出其千位1、百位2、十位3、个位4,然后计算1+2+3+4=10,并输出10。

#include #include main() {

int i1,i2,i3,i4,k,n; printf(\ scanf(\ k=fabs(n); /*取绝对值*/ i1=k/1000; /*分离出千位*/ i2=(k-i1*1000)/100; /*分离出百位*/ i3=(k-i1*1000-i2*100)/10; /*分离出十位*/ i4=k; /*分离出个位*/ printf(\}

7. 打印出所有\水仙花数\,所谓\水仙花数\是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个水仙花数,因为153=13+53+33。

#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(\ } }

x3x5x7x98. 利用泰勒级数sin(x)≈x??????,计算sin(x) 的值。要求最后

3!5!7!9!一项的绝对值小于10-5,并统计出此时累加了多少项(x由键盘输入)。

#include

#include main() {

int n=1,count=1; float x;

double sum,term; /*因为位数多,所以定义为双精度 */ printf(\ scanf(\ sum=x;

term=x; /*赋初值*/ do { term=-term*x*x/((n+1)*(n+2)); sum=sum+term; /*累加 */ n=n+2; count++;

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

printf(\}

9.编写一个猜数游戏:任意设置一个整数,请用户从键盘上输入数据猜想设置的数是什么,告诉用户是猜大了还是小了。10次以内猜对,用户获胜;否则,告诉用户设置的数据是什么。

#include void main()

{int num=123,x,n;

printf(\ /*给出数据范围的提示信息*/

for(n=1;n<=10;n++) {printf(\ scanf(\

if(x==num) {printf(\ if(x>num) printf(\ if(x

if(n==11) printf(\}

10. 编程输出以下图案。

* *** ***** ******* ***** *** *

#include main() {

int i,j;

for(i=1;i<=4;i++) {

for (j=20-i;j>=1;j--) printf(\

for (j=0;j<2*i-1;j++) printf(\ printf(\ }

for (i=3;i>=1;i--) {

for (j=20-i;j>=1;j--) printf(\

for (j=0;j<2*i-1;j++) printf(\ printf(\ } }

…… 此处隐藏:395字,全部文档内容请下载后查看。喜欢就下载吧 ……
C程序设计(红皮书)习题官方参考答案(1-7章)(计老师)(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/452821.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)