c编程方法学答案.docx
- 文档编号:18605760
- 上传时间:2023-08-20
- 格式:DOCX
- 页数:22
- 大小:19.47KB
c编程方法学答案.docx
《c编程方法学答案.docx》由会员分享,可在线阅读,更多相关《c编程方法学答案.docx(22页珍藏版)》请在冰点文库上搜索。
c编程方法学答案
c编程方法学答案
【篇一:
《c语言程序设计》课后习题答案(第四版)谭浩强】
t>1.1什么是计算机程序1
1.2什么是计算机语言1
1.3c语言的发展及其特点3
1.4最简单的c语言程序5
1.4.1最简单的c语言程序举例6
1.4.2c语言程序的结构10
1.5运行c程序的步骤与方法12
1.6程序设计的任务14
1-5#includestdio.h
intmain()
{printf(**************************\n\n);
printf(verygood!
\n\n);
printf(**************************\n);
return0;
}
1-6#includestdio.h
intmain()
{inta,b,c,max;
printf(pleaseinputa,b,c:
\n);
scanf(%d,%d,%d,a,b,c);
max=a;
if(maxb)
max=b;
if(maxc)
max=c;
printf(thelargestnumberis%d\n,max);
return0;
}
第2章算法——程序的灵魂16
2.1什么是算法16
2.2简单的算法举例17
2.3算法的特性21
2.4怎样表示一个算法22
2.4.1用自然语言表示算法22
2.4.2用流程图表示算法22
2.4.3三种基本结构和改进的流程图26
2.4.4用n?
s流程图表示算法28
2.4.5用伪代码表示算法31
2.4.6用计算机语言表示算法32
2.5结构化程序设计方法34
习题36
第章最简单的c程序设计——顺序程序设计37
3.1顺序程序设计举例37
3.2数据的表现形式及其运算39
3.2.1常量和变量39
3.2.2数据类型42
3.2.3整型数据44
3.2.4字符型数据47
3.2.5浮点型数据49
3.2.6怎样确定常量的类型51
3.2.7运算符和表达式52
3.3c语句57
3.3.1c语句的作用和分类57
3.3.2最基本的语句——赋值语句59
3.4数据的输入输出65
3.4.1输入输出举例65
3.4.2有关数据输入输出的概念67
3.4.3用printf函数输出数据68
3.4.4用scanf函数输入数据75
3.4.5字符数据的输入输出78
习题82
3-1#includestdio.h
#includemath.h
intmain()
{floatp,r,n;
r=0.1;
n=10;
p=pow(1+r,n);
printf(p=%f\n,p);
return0;
}
3-2-1
#includestdio.h
#includemath.h
intmain()
{floatr5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;
p=1000;
r5=0.0585;
r3=0.054;
r2=0.0468;
r1=0.0414;
r0=0.0072;
p1=p*((1+r5)*5);//一次存5年期
p2=p*(1+2*r2)*(1+3*r3);//先存2年期,到期后将本息再存3年期
p3=p*(1+3*r3)*(1+2*r2);//先存3年期,到期后将本息再存2年期
p4=p*pow(1+r1,5);//存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5);//存活期存款。
活期利息每一季度结算一次
printf(p1=%f\n,p1);//输出按第1方案得到的本息和
printf(p2=%f\n,p2);//输出按第2方案得到的本息和
printf(p3=%f\n,p3);//输出按第3方案得到的本息和
printf(p4=%f\n,p4);//输出按第4方案得到的本息和
printf(p5=%f\n,p5);//输出按第5方案得到的本息和
return0;
}
3-2-2
#includestdio.h
#includemath.h
intmain()
{doubler5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;
p=1000;
r5=0.0585;
r3=0.054;
r2=0.0468;
r1=0.0414;
r0=0.0072;
p1=p*((1+r5)*5);//一次存5年期
p2=p*(1+2*r2)*(1+3*r3);//先存2年期,到期后将本息再存3年期
p3=p*(1+3*r3)*(1+2*r2);//先存3年期,到期后将本息再存2年期
p4=p*pow(1+r1,5);//存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5);//存活期存款。
活期利息每一季度结算一次
printf(p1=%f\n,p1);//输出按第1方案得到的本息和
printf(p2=%f\n,p2);//输出按第2方案得到的本息和
printf(p3=%f\n,p3);//输出按第3方案得到的本息和
printf(p4=%f\n,p4);//输出按第4方案得到的本息和
printf(p5=%f\n,p5);//输出按第5方案得到的本息和
return0;
}
3-2-3
#includestdio.h
#includemath.h
intmain()
{floatr5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;
p=1000;
r5=0.0585;
r3=0.054;
r2=0.0468;
r1=0.0414;
r0=0.0072;
p1=p*((1+r5)*5);//一次存5年期
p2=p*(1+2*r2)*(1+3*r3);//先存2年期,到期后将本息再存3年期
p3=p*(1+3*r3)*(1+2*r2);//先存3年期,到期后将本息再存2年期
p4=p*pow(1+r1,5);//存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5);//存活期存款。
活期利息每一季度结算一次
printf(p1=%10.2f\n,p1);//输出按第1方案得到的本息和
printf(p2=%10.2f\n,p2);//输出按第2方案得到的本息和
printf(p3=%10.2f\n,p3);//输出按第3方案得到的本息和
printf(p4=%10.2f\n,p4);//输出按第4方案得到的本息和
printf(p5=%10.2f\n,p5);//输出按第5方案得到的本息和
return0;
}
3-3.
#includestdio.h
#includemath.h
intmain()
{floatd=300000,p=6000,r=0.01,m;
m=log10(p/(p-d*r))/log10(1+r);
printf(m=%6.2f\n,m);
return0;
}
3-4
#includestdio.h?
intmain()
{intc1,c2;
c1=197;
c2=198;
printf(c1=%c,c2=%c\n,c1,c2);
printf(c1=%d,c2=%d\n,c1,c2);
return0;
}
3-5
#includestdio.h
intmain()
{inta,b;
floatx,y;
charc1,c2;
scanf(a=%db=%d,a,b);
scanf(%f%e,x,y);
scanf(%c%c,c1,c2);
printf(a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n,a,b,x,y,c1,c2);return0;
}
3-6
#includestdio.h
intmain()
{charc1=c,c2=h,c3=i,c4=n,c5=a;
c1=c1+4;
c2=c2+4;
c3=c3+4;
c4=c4+4;
c5=c5+4;
printf(passworis%c%c%c%c%c\n,c1,c2,c3,c4,c5);
return0;
}
3-7
#includestdio.h
intmain()
{floath,r,l,s,sq,vq,vz;
floatpi=3.141526;
printf(请输入圆半径r,圆柱高h∶);
scanf(%f,%f,r,h);//要求输入圆半径r和圆柱高hl=2*pi*r;//计算圆周长l
【篇二:
c.primer_plus(第五版)编程练习全部答案】
练习
1.您刚刚被macromuscle有限公司(softwareforhardbodies)聘用。
该公司要进入欧洲市场,需要一个将英寸转换为厘米(1英寸=2.54cm)的程序。
他们希望建立的该程序可提示用户输入英寸值。
您的工作是定义程序目标并设计该程序(编程过程的第1步和第2步)。
1.将英寸值转化为厘米值
2.显示“输入英寸值”-得到该值-转换为厘米值-存储-告知用户已结束
第二章c语言概述
编程练习
1.编写一个程序,调用printf()函数在一行上输出您的名和姓,再调用一次printf()函数在两个单独的行上输出您的名和姓,然后调用一对printf()函数在一行上输出您的名和姓。
输出应如下所示(当然里面要换成您的姓名):
antonbruckner
anton
bruckner
antonbruckner
第一个输出语句
第二个输出语句
仍然是第二个输出语句
第三个和第四个输出语句
#includestdio.h
intmain(void)
{
printf(hejin\n);
printf(he\n);
printf(jin\n);
printf(hejin\n);
return(0);
}
2.编写一个程序输出您的姓名及地址。
#includestdio.h
intmain(void)
{
printf(name:
hejin\n);
printf(address:
cauc\n);
return(0);
}
3.编写一个程序,把您的年龄转换成天数并显示二者的值。
不用考虑平年(fractionalyear)和闰年(leapyear)的问题。
#includestdio.h
intmain(void)
{
intage=22;
printf(age:
%d\n,age);
printf(day:
%d\n,age*356);
return(0);
}
4.编写一个能够产生下面输出的程序:
forhesajollygoodfellow!
forhesajollygoodfellow!
forhesajollygoodfellow!
whichnobodycandeny!
程序中除了main()函数之外,要使用两个用户定义的函数:
一个用于把上面的夸奖消息输出一次:
另一个用于把最后一行输出一次。
#includestdio.h
voidprintf1(void);
voidprintf2(void);
intmain(void)
{
printf1();
printf1();
printf1();
printf2();
return(0);
}
voidprintf1(void)
{
printf(forhesajollygoodfellow!
\n);
}
voidprintf2(void)
{
printf(whichnobodycandeny!
\n);
}
5.编写一个程序,创建一个名为toes的整数变量。
让程序把toes设置为10。
再让程序计算两个toes的和以及toes的平方。
程序应该输出所有的3个值,并分别标识它们。
#includestdio.h
intmain(void)
inttoes=10;
inttoes_add;
inttoes_square;
toes_add=toes+toes;
toes_square=toes*toes;
printf(toes=%d\ntoes_add=%d\ntoes_square=%d\n,toes,toes_add,toes_square);
return(0);
}
6.编写一个能够产生下列输出的程序:
smile!
smile!
smile
smile!
smile!
smile!
在程序中定义一个能显示字符串smile卜一次的函数,并在需要时使用该函数。
#includestdio.h
voiddisplay(void);
intmain(void)
{
display();
display();
display();
printf(\n);
display();
display();
printf(\n);
display();
printf(\n);
return(0);
}
voiddisplay(void)
{
printf(smile!
);
}
7.编写一个程序,程序中要调用名为one_three()的函数。
该函数要在一行中显示单词one,再调用two()函数,然后再在另一行中显示单词three。
函数two()应该能在一行中显示单词two。
main()函数应该在调用one_three()函数之前显示短语startingnow:
,函数调用之后要显示done!
o这样,最后的输出结果应如下所示:
startingnow
one
two
three
done!
#includestdio.h
voidone_three(void);
voidtwo(void);
intmain(void)
{
printf(startingnow:
\n);
one_three();
printf(done!
\n);
return(0);
}
voidone_three(void)
{
printf(one\n);
two();
printf(three\n);
}
voidtwo(void)
{
printf(two\n);
}
第三章数据和c
编程练习
【篇三:
c语言程序设计下mooc答案】
/p>c语言程序设计(下)网上作业答案
第一周编程作业
1、求最大公约数和最小公倍数(15分)
题目内容:
编写程序,在主函数中输入两个正整数a,b,调用两个函数fun1()和fun2(),分别求a和b的最大公约数和最小公倍数,在主函数中输出结果。
输入格式:
两个正整数
输出格式:
最大公约数和最小公倍数
输入样例:
12,40[回车]
输出样例:
最大公约数:
4[回车]
最小公倍数:
120[回车]
时间限制:
500ms内存限制:
32000kb
code:
#includestdio.h
intfun1(intm,intn)
{
intr;
r=m%n;
returnr==0?
n:
fun1(n,r);
}
intfun2(intm,intn)
{
intt;
t=m*n/fun1(m,n);
returnt;
}
intmain()
{intt,m,n;
scanf(%d,%d,m,n);
if(mn)
{
t=m;m=n;n=t;
}
printf(最大公约数:
%d\n,fun1(m,n));
printf(最小公倍数:
%d\n,fun2(m,n));
return0;
}
2、排序并插入(15分)
题目内容:
编写程序,在主函数中定义一个有10个元素的整型一维数组,用户输入9个数据,调用函数,对数组元素进行从小到大排序后,在函数中输入一个数,插入到数组中正确的位置,并输出。
输入格式:
9个整数和1个整数
输出格式:
10个整数
输入样例:
2,3,1,5,6,76,89,31,90[回车]
7[回车]
输出样例:
1,2,3,5,6,7,31,76,89,90[回车]
时间限制:
500ms内存限制:
32000kb
code:
#includestdio.h
intmain()
{
intt,j,i,n[10];
for(i=0;i9;i++)
{
scanf(%d,n[i]);
if(i8)scanf(,);
}
scanf(%d,n[9]);
for(i=0;i9;i++)
{
for(j=0;j=8-i;j++)
{
if(n[j]n[j+1])
{
t=n[j];
n[j]=n[j+1];
n[j+1]=t;
}
}
}
for(i=0;i10;i++)
{
printf(%d,n[i]);
if(i9)printf(,);
}
return0;
}
第二周编程作业
1、最大公约数(15分)
题目内容:
输入两个整数m,n,用递归算法实现计算两个数的最大公约数。
输入格式:
输入两个整数m,n
输出格式:
最大公约数
输入样例:
12,40[回车]
输出样例:
4[回车]
间限制:
500ms内存限制:
32000kb
code:
#includestdio.h
intgcd(intm,intn)
{intr;
r=m%n;
returnr==0?
n:
gcd(n,r);
}
intmain()
{intt,m,n;
scanf(%d,%d,m,n);
if(mn)
{
t=m;m=n;n=t;
}
printf(%d\n,gcd(m,n));
return0;
}
2、奇数求和(15分)
题目内容:
用递归算法实现,输入整数n(n0),求1+3+5+7?
.+(2*n-1)的和
输入格式:
输入整数n
输出格式:
输出和
输入样例:
5[回车]
输出样例:
25[回车]
时间限制:
500ms内存限制:
32000kb
code:
#includestdio.h
intfun(intn)
{
intf;
if(n==1)f=1;
elsef=fun(n-1)+2;
returnf;
}
intmain()
{inti,m,t=0;
scanf(%d,m);
for(i=0;im;i++)
{
t=t+fun(i+1);
}
printf(%d\n,t);
return0;
}
第三周编程作业
1、巧算自然数(10分)
题目内容:
编程实现输入一个自然数,若为偶数,则把它除以2;若为奇数,则把它乘以3加1。
经过如此有限次运算后,总可以得到自然数值1。
输出经过多少次可以得到自然数1和每次得到的值。
输入格式:
输入一个自然数
输出格式:
输出经过多少次可以得到自然数1和每次得到的值
输入样例:
22[回车]
输出样例:
22,11,34,17,52,26,13,40,20,10,5,16,8,4,2,1[回车]
step=16[回车]
时间限制:
500ms内存限制:
32000kb
code:
#includestdio.h
intfun(intn)
{
if(n%2==0)n=n/2;
elsen=3*n+1;
returnn;
}
intmain()
{inti,m;
scanf(%d,m);
for(i=1;;i++)
{
printf(%d,,m);
m=fun(m);
if(m==1)break;
}
printf(1\nstep=%d\n,i+1);
return0;
}
2、卖鸭子(10分)
题目内容:
编程调用递归函数。
一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子的一半又一只。
这样他经过了7个村子后还剩2只鸭子,问他出发时共赶多少只鸭子?
经过每个村子时依次卖出多少只鸭子?
输入格式:
无
输出格式:
出发时总鸭子数
每个村子卖出鸭子数
输入样例:
无
输出样例:
(不是结果,仅表示格式)
sum=25[回车]
sell=8,sell=4,[回车]
时间限制:
500ms内存限制:
32000kb
code:
#includestdio.h
intfun(inti)
{
intsum;
if(i==7)sum=2;
elsesum=(fun(i+1)+1)*2;
returnsum;
}
intmain()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程 方法 答案