C语言课后习题答案.docx

上传人:b****2 文档编号:11358417 上传时间:2023-05-31 格式:DOCX 页数:15 大小:17.71KB
下载 相关 举报
C语言课后习题答案.docx_第1页
第1页 / 共15页
C语言课后习题答案.docx_第2页
第2页 / 共15页
C语言课后习题答案.docx_第3页
第3页 / 共15页
C语言课后习题答案.docx_第4页
第4页 / 共15页
C语言课后习题答案.docx_第5页
第5页 / 共15页
C语言课后习题答案.docx_第6页
第6页 / 共15页
C语言课后习题答案.docx_第7页
第7页 / 共15页
C语言课后习题答案.docx_第8页
第8页 / 共15页
C语言课后习题答案.docx_第9页
第9页 / 共15页
C语言课后习题答案.docx_第10页
第10页 / 共15页
C语言课后习题答案.docx_第11页
第11页 / 共15页
C语言课后习题答案.docx_第12页
第12页 / 共15页
C语言课后习题答案.docx_第13页
第13页 / 共15页
C语言课后习题答案.docx_第14页
第14页 / 共15页
C语言课后习题答案.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言课后习题答案.docx

《C语言课后习题答案.docx》由会员分享,可在线阅读,更多相关《C语言课后习题答案.docx(15页珍藏版)》请在冰点文库上搜索。

C语言课后习题答案.docx

C语言课后习题答案

第4章后练习

10.ch4_lx10.c

#include

voidmain()

{

intm=1,n=1,s=0,k=1;

while(n<=10)

{

while(m<=n)

{printf("%d",m);

m++;

}

printf("\n");

n++;

m=1;

}

}

Ch4_lx12.c输入一行字符串,统计有多少字母.

#include

voidmain()

{

intm=0;

charch;

while((ch=getchar())!

='\n')

if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))

m++;

printf("%d\n",m);

}

}

Ch4_lx13.c猜字游戏

#include

#include

#include

#include

voidmain()

{intmagic;

intguess;

srand((unsigned)time(NULL));

magic=rand();

printf("Enteryourguess:

");

scanf("%d",&guess);

while(guess!

=magic)

{

if(guess>magic)

printf("**Toohigh\n**");

else

printf("**TooLow\n**");

printf("Enteryourguess:

");

scanf("%d",&guess);

if(guess==magic)

{printf("**Right**\n");

break;}

}

}

11.输入一自然数,输出它的因子。

解1.

#include

intmain()

{intw,i=2;

printf("请输入一个整数w:

\n");

scanf("%d",&w);

printf("%d的因子是:

",w);

while(w)

{while(w)

{

if(w%i==0)

{printf("%d",i);

w=w/i;

}

else

break;

}

i++;

}

return0;

}

Ch5_lx14.c求1*3*5*7…*n

#include

intmain()

{

inti,x,s=1;

printf("请输入一个奇数:

\n");

scanf("%d",&x);

for(i=1;i<=x;i+=2)

s=s*i;

printf("1*3*...*%d=%d\n",x,s);

return0;

}

设计一个猜字游戏.

程序给出一个数,游戏者猜对了,屏幕显示

“**Right**”;

当猜的数错了,显示”**Wrong**”,并告之猜的

数太小并显示”**TooLow**”,否则就显示”

**TooHigh**”.

例:

猜字游戏

(一)

main()

{intmagic=123;

intguess;

printf(“Enteryourguess:

”;

scanf(“%d”,&guess);

if(guess==magic)

printf(“**Right**”);

else

{printf(“**Wrong**”);

if(guess>magic)

printf(“**Toohigh\n**”);

else

printf(“**Toolow**\n”);}

}

main()猜字游戏

(二)

{intmagic=123;

intguess;

printf("Enteryourguess:

");

scanf("%d",&guess);

while(guess!

=magic)

{if(guess==magic)

printf("**Right**\n");

else

{printf("**Wrong**\n");

if(guess>magic)

printf("**Toohigh\n**");

else

printf("**TooLow\n**");}

printf("Enteryourguess:

");

scanf("%d",&guess);}}

例:

一球从100米高度自由落下,每次落地后都弹回原高度一半落下,求它在第10次落地时,共经过多少米?

第10次反弹多高?

main()

{floatsn=100,hn=sn/2;

intn;

for(n=2;n<=10;n++)

{sn=sn+2*hn;

hn=hn/2;}

printf(“%fm.\n”,sn);

printf(“%fm.\n”,hn);}

例:

猴子吃桃子问题.

猴子第一天摘下若干桃子,当即吃了一半,又多吃了一个.第二天早上又将剩余的桃子吃掉一半,还是又多吃了一个.

以后每天早上都吃了前天剩下的一半多一个.到第十天

早上想再吃时,只见剩下了一个桃子了.

求第一天共摘了多少桃子?

main()

{

intday,x1,x2;

day=9;

x2=1;

while(day>0)

{

x1=(x2+1)*2;

x2=x1;day--;

}

printf(“total=%d\n”,x1);

}

12.#include

voidmain()

{

intm=0;

charch;

while((ch=getchar())!

='\n')

if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))

m++;

printf("%d\n",m);

}

}

第5章后练习

把100~200之间的不能被3整除的数输出。

main()

{intn;

for(n=100;n<=200;n++)

{if(n%3==0)

continue;printf(“%5d”,n);

}

}

例:

问程序输出的结果?

main()

{inti=1,a=0;

for(;i<=5;i++)

{

do{

i++;

a++;

}while(i<3);

i++;}

printf(“a=%d,i=%d\n”,a,i);

}

输出:

a=3,i=8

例:

找出所有的三位数,它和它的各位数字的立方和正好相

等.例如:

153=13+53+33.

设所求的三位数,其百位数字是i,十位数字是j,个位数字

是k.显然应满足如下表达式:

i*i*i+j*j*j+k*k*k=100*i+10*j+k

main()

{inti,j,k;

for(i=1;i<=9;i++)

for(j=0;j<=9;j++)

for(k=0;k<=9;k++)

if(i*i*i+j*j*j+k*k*k==100*i+10*j+k)

printf(“%d%d%d\n”,i,j,k);

}

第6章后练习

示例:

输入2个数,如果它们的值不相等,则交换并输出它们的值;否则,输出“equal”。

交换a和b值的方法:

temp=a;

a=b;

b=temp;

#include

voidmain()

{inta,b,temp;

printf("inputa,b:

");

scanf("%d%d",&a,&b);

if(a!

=b){

temp=a;

a=b;

b=temp;

printf("a=%d,b=%d\n",a,b);}

else

printf("equal\n");

}

示例:

输入3个整数,输出其中的最大值

#include

voidmain()

{

inta,b,c,max;

printf("inputa,b,c:

");

scanf("%d%d%d",&a,&b,&c);

max=a;

if(max

if(max

printf("maxis%d\n",max);

}

例:

输入x,计算下列分段函数f(x).

1/xx≠0

f(x)=

0x=0

#include

voidmain()

{

floatx,y;

printf("inputx:

\n");

scanf("%f",&x);

if(x!

=0)y=1/x;

elsey=0;

printf("f(%f)=%.2f\n",x,y);

}

例:

输入x,计算下列分段函数f(x).

x+1x<1

f(x)=x+21≤x<2

x+3x≥2

#include

voidmain()

{doublex,y;

printf("请输入x:

");

scanf("%lf",&x);

if(x<1)

y=x+1;

elseif(x<2)

y=x+2;

else

y=x+3;

printf("f(%.2f)=%.2f\n",x,y);

}

7.将大写字符转换为小写.

#include

voidmain()

{charch;

while((ch=getchar())!

='\n')

{if(ch>='A'&&ch<='Z'){

ch+=32;

printf("%c",ch);}

else

printf("%c",ch);}

printf("\n");

}

8.统计字符

#include

#include

intmain()

{charch;

intx=0,y=0,z=0,a=0,b=0;

printf("请输入:

\n");

while((ch=getchar())!

='\n')

{if(ch>='a'&&ch<='z')

x++;

elseif(ch>='A'&&ch<='Z')

y++;

elseif(ch>='0'&&ch<='9')

z++;

elseif(ch==''||ch=='\n')

a++;

else

b++;

}

printf("小写字母%d个\n",x);

printf("大写字母%d个\n",y);

printf("数字字符%d个\n",z);

printf("空格字符%d个\n",a);

printf("其它字符%d个\n",b);

return0;

}

9.计算分段函数

#include

voidmain()

{floatx,y;

printf("请输入x:

\n");

scanf("%f",&x);

if(x<=1)

y=x+5;

elseif(x>1&&x<=10)

y=2*x;

else

y=(3/(x-10);

printf("x=%fy=%f\n",x,y);

}

10.五分制与百分制的转换

#include

voidmain()

{intx,i;

printf("该程序功能为五分制与百分制的转换!

\n");

printf("1进入,2退出!

\n");

scanf("%d",&i);

while(i==1)

{printf("请输入:

\n");

scanf("%d",&x);

if(x>=90&&x<=100)

x=5;

elseif(x>=80&&x<90)

x=4;

elseif(x>=70&&x<80)

x=3;

elseif(x>=60&&x<70)

x=2;

else

x=1;

printf("五分制成绩为%d分\n",x);

printf(“1继续2退出!

\n");

scanf("%d",&i);

}

}

第7章后练习

1.百分制转换成五分制.

#include

intmain()

{

intx;

printf("请输入学生百分制成绩:

\n输入负数结束程序:

\n");

scanf("%d",&x);

while(x>0)

{switch(x/10)

{

case10:

case9:

printf("五分制为:

\n5\n\n");break;case8:

printf("五分制为:

\n4\n\n");break;

case7:

printf("五分制为:

\n3\n\n");break;

case6:

printf("五分制为:

\n2\n\n");break;

default:

printf("五分制为:

\n1\n\n");break;

}

printf("请输入学生百分制成绩:

\n输入负数结束程序:

\n");

scanf("%d",&x);

}

printf("谢谢使用,再见:

\n");

return0;

}

2.计算sin(),cos(),tan().

#include

#include

intmain()

{

doublex,s;

inty;

printf("Inputanumber:

\n");

scanf("%lf",&x);

while

(1){

printf("您希望进行哪种运算?

\n");

printf("1.计算sin(x)\n");

printf("2.计算cos(x)\n");

printf("3.计算tan(x)\n");

scanf("%d",&y);

switch(y)

{case1:

s=sin(x);

printf("sin(%f)=%f\n",x,s);break;

case2:

s=cos(x);

printf("cos(%f)=%f\n",x,s);break;

case3:

s=tan(x);

printf("tan(%f)=%f\n",x,s);break;

default:

printf(“输入有误,请输入1-3之间的数字!

\n");

}

If(y==1||y==2||y==3)

break;

}

printf("谢谢使用:

\n");

return0;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2