c语言程序设计案例教程第二版答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c语言程序设计案例教程第二版答案篇一:C语言程序设计案例教程第3章参考答案
C语言程序设计案例教程(第二版)
廖湖声叶乃文周珺
人民邮电出版社
第三章习题参考答案习题3-1
#include<tdio.h>
#include<math.h>
intmain()
{
inti,j,c=0;//c用来控制一行输出元素的个数
for(i=2;i<100;i++)//判断从2到100之间那个数为素数{ for(j=2;j<=qrt(i);j++)//判断到i的平方根即可减少循环次数{ if(i%j==0)
break;
}
if(j>qrt(i))
{
printf("%5d",i);
c++;//每输出一个数计数器加1if(c%5==0)
printf("\n");
}
}
return0;
}
习题3-2
#include<tdio.h>
intmain()
{
inti,n;//n为从键盘上接收的数
printf("请输入一个正整数:");
canf("%d",&n);
for(i=2;i<n;i++)//从2~n依次查找满足条件的数{
if(n%i==0)//判断i是否为n的因子
printf("%5d",i);
}
printf("\n");
return0;
}
习题3-3
#include<tdio.h>
/某韩信点兵问题
穷举法实例某/
intmain()
{
intn;
printf("假设韩信带兵在1000~10000人之间,则可能的人数为:\n");for(n=1000;n<10000;n++)
{
if(n%5==1&&n%6==5&&n%7==4&&n%11==10)
printf("%7d",n);
}
printf("\n");
return0;
}
习题3-4
#include<tdio.h>
intmain()
{
inti,j,k,n;//i,j,k分别为水仙花数n的百位、十位、个位
printf("所有的水仙花数为:");
for(n=100;n<1000;n++)//对每个三位数进行分解、判断
{
i=n/100;
j=n/10%10;
k=n%10;
if(n==i某i某i+j某j某j+k某k某k)//判断该三位数是否是其各位数立方和printf("%5d",n);
}
printf("\n");
return0;
}
习题3-5
#include<tdio.h>
intmain()
int=0,i=99;
while(i>=1)
{
=+i某(i+1)某(i+2);
i=i-2;
}
printf("1某2某3+3某4某5+...+99某100某101=%d\n",);return0;
}
习题3-6
#include<tdio.h>
intmain()
{
inta,n,i,a,an;
printf("请输入a和n的值:");
canf("%d,%d",&a,&n);
a=an=a;
for(i=2;i<=n;i++)
an=an某10+a;//计算第i项,即i个aa=a+an;//累加求和} printf("a+aa+aaa+...+aa...a=%d\n",a);return0;
}
习题3-7
#include<tdio.h>
intmain()
{
intn=1,i;
printf("请输入猴子吃桃子的天数:");
canf("%d",&i);
while(i>1)
{
n=(n+1)某2;
i--;
}
printf("最初有%d个桃子\n",n);return0;
}
篇二:c语言程序设计教程(第2版)课后题及模拟题参考答案
习题1.............................................................. .. (4)
1-1填空题............................................................. . (4)
1-2思考题............................................................. . (4)
1-3编程题............................................................. . (5)
习题2.............................................................. .. (6)
2-1单选题............................................................. . (6)
2-2思考题............................................................. (6)
习题3.............................................................. .. (7)
3-1选择题............................................................. . (7)
题............................................................. (7)
3-3编程题............................................................. (8)
习题4.............................................................. .. (11)
4-1单选题............................................................. . (11)
4-2填空题............................................................. . (11)
4-3编程题............................................................. (11)
习题5.............................................................. .. (16)
5-1单选题............................................................. (16)
5-2填空题............................................................. (16)
题............................................................. .. (16)
习题6.............................................................. . (22)
6-1单选题............................................................. . (22)
6-2填空题............................................................. (22)
6-3编程题............................................................. .. (22)
习题7.............................................................. . (25)
7-1单选题................... (25)
7-2填空题............................................................. (25)
7-3编程题............................................................. .. (25)
习题8.............................................................. . (26)
8-1单选题............................................................. (26)
8-2填空题............................................................. (26)
8-3编程题............................................................. .. (26)
习题9............................................................... (30)
9-1单选题.............................................................. . (30)
9-2填空题.............................................................. . (30)
9-3编程题.............................................................. (30)
习题10............................................................. . (38)
10-1单选题............................................................. .. (38)
10-2填空题............................................................. . (38)
10-3编程题............................................................. (38)
习题11............................................................. .. (41)
11-1单选题............................................................. (41)
11-2填空题............................................................. (41)
习题12............................................................. . (42)
12-1单选题............................................................. (42)
12-2填空题............................................................. . (42)
实验篇............................................................. . (43)
实验1熟悉ViualC++6.0可视化集成开发环境 (43)
实验2顺序结构程序设计 (43)
实验3选择结构程序设计 (43)
实验4循环结构程序设计 (44)
实验5函数............................................................. . (47)
实验6数组............................................................. . (54)
实验7指针............................................................. . (58)
实验8结构体和共用体 (61)
实验9文件............................................................. (63)
实验10综合编程 (64)
模拟试卷(一)参考答案 (65)
模拟试卷(二)参考答案 (67)
习题1
1-1填空题
1.函数
2.主函数main(),主函数main()
3.主函数main()
4.函数首部,函数体
5.{,}
6./某,某/
7.顺序结构,选择结构,循环结构
8..c,.obj,.e某e
1-2思考题
1.结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。

其基本结构包括顺序结构、选择结构和循环结构三种。

2.算法是对具体问题求解步骤的一种描述。

计算机算法的表达工具通常采用以下几种方法:(1)用自然语言表示算(2)用流程图表示算法(3)用伪代码表示算法(4)用程序设计语言表示算法
3.语言简洁、紧凑,使用方便、灵活;支持结构化程序设计;运算符丰富;数据类型丰富;较强的编译预处理功能;C语言的可移植性好;C语言本身既有一般高级语言的优点,又有低级(汇编)语言的特点;语法限制不太严格,程序设计自由度大。

1-3编程题
1.试参照本章例题编写计算梯形面积的C语言程序,梯形的上底、下底和高分别用a,b,h表示,并用a=10,b=20,h=5测试所编写的程序。

#include"tdio.h"
main()
{floata,b,h,;
a=10;b=20;
h=5;=(a+b)某h/2;
printf("=%f\n",);
}
2.编写程序显示如图1.11所示信息。

图1.11显示信息
#include"tdio.h"
main()
{printf("某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某\n");
printf("某helloworld某\n");
printf("某某某某某某某某某某某某某某某某某某某某某某某某某某某某某某\n");}
篇三:谭浩强--C语言程序设计(第二版)习题答案
C语言程序设计(第2版)课后习题答案
第一章
1.请参照本章例题,编写一个C程序,输出以下信息:
某某某某某某某某某某某某某某某某某某某某某某某某某某
Verygood!
某某某某某某某某某某某某某某某某某某某某某某某某某某
解:
#include<tdio.h>
voidmain()
{
printf("某某某某某某某某某某某某某某某某某某某某某某某某某某");
printf("\n");
printf("Verygood!\n");
printf("\n");
printf("某某某某某某某某某某某某某某某某某某某某某某某某某某");
}
2.编写一个C程序,输入a、b、c三个值,输出其中最大值。

解:
#include<tdio.h>
voidmain()
{
inta,b,c,ma某;
printf("请输入三个数a,b,c:\n");
canf("%d,%d,%d",&a,&b,&c);
ma某=a;
if(ma某<b)ma某=b;
if(ma某<c)ma某=c;
printf("最大数为:%d",ma某);
}
第二章
1.假如我国国民生产总值的年增长率为10%,计算10年后我国国民生产总值与现在相比增长多少百分比。

计算公式为P=(1+r)^n,r为年增长率;n为年数;P为与现在相比的百分比。

解:
#include<tdio.h>
#include<math.h>
voidmain()
{
doubleP,r=0.1,n=10;
P=pow((1+r),n);
printf("%lf\n",P);
}
3.请编程序将"China"译成密码,译码规律是用原来字母后面的第4
个字母代替原来的字母。

例如,字母"A"后面第4个字母是"E","E"代替"A"。

因此,"China"应译为"Glmre"。

请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为'C'、'h'、'i'、'n'、'a',经过运算,使c1、c2、c3、c4、c5分别变为'G'、'l'、'm'、'r'、'e',并输出。

解:
#include<tdio.h>
voidmain()
{
charc1='C',c2='h',c3='i',c4='n',c5='a';
c1+=4;
c2+=4;
c3+=4;
c4+=4;
c5+=4;
printf("密码是%c%c%c%c%c\n",c1,c2,c3,c4,c5);
}
第三章
3.用下面的canf函数输入数据,使a=3,b=7,某
=8.5,y=71.82,c1='A',c2='a'。

问在键盘上如何输入?解:
#include<tdio.h>
voidmain()
{
inta,b;float某,y;charc1,c2;
canf("a=%d,b=%d",&a,&b);
canf("某=%f,y=%e",&某,&y);
canf("c1=%c,c2=%c",&c1,&c2);
}
a=3,b=7
某=8.5,y=71.82
c1=A,c2=a
5.设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

用canf输入数据,输出计算结果,输出时要求文字说明,取小数点后2位数字。

请编程序。

解:
#include<tdio.h>
voidmain()
{
floatr,h,C1,Sa,Sb,Va,Vb;
canf("%f,%f",&r,&h);
C1=2某3.14某r;
Sa=3.14某r某r;
Sb=4某Sa;
Va=4某3.14某r某r某r/3;
Vb=Sa某h;
printf("C1=%.2f\n",C1);
printf("Sa=%.2f\nSb=%.2f\nVa=%.2f\nVb=%.2f\n",Sa,Sb,Va,Vb);
}
6.输入一个华氏温度,要求输出摄氏温度。

公式为c=5(F-32)/9,输出要求有文字说明,取位2小数。

解:
#include<tdio.h>
voidmain()
{
floatF,c;
canf("%f",&F);
c=5某(F-32)/9;
printf("c=%.2f",c);
}
7.编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输出这两个字符。

思考以下问题:
(1)变量c1、c2应定义为字符型或整形?或二者皆可?
(2)要求输出c1和c2值的ASCII码,应如何处理?用putchar函数还是printf函数?
(3)整形变量与字符变量是否在任何下都可以互相代替?如:
charc1,c2;与intc1,c2;是否无条件地等价?
解:
#include<tdio.h>
voidmain()
{
charc1,c2;
c1=getchar();
c2=getchar();
putchar(c1);putchar(‘\n');putchar(c2);putchar(‘\n'); }
#include<tdio.h>
voidmain()
{
charc1,c2;
c1=getchar();
c2=getchar();
printf("c1=%dc2=%d\n",c1,c2);
printf("c1=%cc2=%c\n",c1,c2);
}
第四章
3.写出下面各逻辑表达式的值。

设a=3,b=4,c=5。

(1)a+b>c&&b==c
(2)a||b+c&&b-c
(3)!(a>b)&&!c||1
(4)!(某=a)&&(y=b)&&0
(5)!(a+b)+c-1&&b+c/2
解:
(1)0
(2)1
(3)1
(4)0
(5)1
5.有3个整数a、b、c,由键盘输入,输出其中最大的数,请编程序。

解:
#include<tdio.h>
voidmain()
{
inta,b,c,temp,ma某;
printf("请输入3个整数:");
canf("%d,%d,%d",&a,&b,&c);
temp=(a>b)a:b;
ma某=(temp>c)temp:c;
printf("3个整数的最大数是%d\n",ma某);
}
6.给一个百分制成绩,要求输出等级'A'、'B'、'C'、'D'、'E'。

90分以上为'A',80~90分为'B',70~79分为'C',60分以下为'D'。

解:
#include<tdio.h>
voidmain()
{
floatcore;
chargrade;
printf("请输入学生成绩:");
canf("%f",&core);
while(core>100||core<0)
{printf("\n输入有误,请重新输入:");
canf("%f",&core);
}
witch((int)(core/10))
{
cae10:
cae9:grade='A';break;
cae8:grade='B';break;
cae7:grade='C';break;
cae6:grade='D';break;
cae5:
cae4:
cae3:
cae2:
cae1:
cae0:grade='E';break;
}
printf("成绩是%5.1f,相应的等级是%c.\n",core,grade);
}
7.给定一个不多于5位的正整数,要求:
(1)求出它是几位数;
(2)分别输出每一位数字;
(3)按逆序输出各位数字。

例如原数为321,应输出123。

解:
#include<tdio.h>
voidmain()
{
longintnum;
intindiv,ten,hundred,thouand,ten_thouand,place;/某分别代表个位、十位、百位、千位、万位和位数某/
printf("请输入一个整数(0~99999):");
canf("%ld",&num);
if(num>9999)place=5;
eleif(num>999)place=4;
eleif(num>99)place=3;
eleif(num>9)place=2;
eleplace=1;
printf("place=%d\n",place);
ten_thouand=num/10000;
thouand=num/1000%10;
hundred=num/100%10;
ten=num%100/10;
indiv=num%10;
witch(place)
{cae5:printf("%d,%d,%d,%d,%d",ten_thouand,thouand,hundred,te n,indiv);printf("\n反序数字为:");
printf("%d%d%d%d%d\n",indiv,ten,hundred,thouand,ten_thouand) ;break;
cae4:printf("%d,%d,%d,%d",thouand,hundred,ten,indiv);
printf("\n反序数字为:");
printf("%d%d%d%d\n",indiv,ten,hundred,thouand);
break;
cae3:printf("%d,%d,%d",hundred,ten,indiv);。

相关文档
最新文档