课后题答案-C语言程序设计(第2版)Word下载.doc

上传人:wj 文档编号:827423 上传时间:2023-04-29 格式:DOC 页数:31 大小:133KB
下载 相关 举报
课后题答案-C语言程序设计(第2版)Word下载.doc_第1页
第1页 / 共31页
课后题答案-C语言程序设计(第2版)Word下载.doc_第2页
第2页 / 共31页
课后题答案-C语言程序设计(第2版)Word下载.doc_第3页
第3页 / 共31页
课后题答案-C语言程序设计(第2版)Word下载.doc_第4页
第4页 / 共31页
课后题答案-C语言程序设计(第2版)Word下载.doc_第5页
第5页 / 共31页
课后题答案-C语言程序设计(第2版)Word下载.doc_第6页
第6页 / 共31页
课后题答案-C语言程序设计(第2版)Word下载.doc_第7页
第7页 / 共31页
课后题答案-C语言程序设计(第2版)Word下载.doc_第8页
第8页 / 共31页
课后题答案-C语言程序设计(第2版)Word下载.doc_第9页
第9页 / 共31页
课后题答案-C语言程序设计(第2版)Word下载.doc_第10页
第10页 / 共31页
课后题答案-C语言程序设计(第2版)Word下载.doc_第11页
第11页 / 共31页
课后题答案-C语言程序设计(第2版)Word下载.doc_第12页
第12页 / 共31页
课后题答案-C语言程序设计(第2版)Word下载.doc_第13页
第13页 / 共31页
课后题答案-C语言程序设计(第2版)Word下载.doc_第14页
第14页 / 共31页
课后题答案-C语言程序设计(第2版)Word下载.doc_第15页
第15页 / 共31页
课后题答案-C语言程序设计(第2版)Word下载.doc_第16页
第16页 / 共31页
课后题答案-C语言程序设计(第2版)Word下载.doc_第17页
第17页 / 共31页
课后题答案-C语言程序设计(第2版)Word下载.doc_第18页
第18页 / 共31页
课后题答案-C语言程序设计(第2版)Word下载.doc_第19页
第19页 / 共31页
课后题答案-C语言程序设计(第2版)Word下载.doc_第20页
第20页 / 共31页
亲,该文档总共31页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

课后题答案-C语言程序设计(第2版)Word下载.doc

《课后题答案-C语言程序设计(第2版)Word下载.doc》由会员分享,可在线阅读,更多相关《课后题答案-C语言程序设计(第2版)Word下载.doc(31页珍藏版)》请在冰点文库上搜索。

课后题答案-C语言程序设计(第2版)Word下载.doc

main()

{intn,c;

n=2;

c=M*n;

%d\n"

c);

}

2.编程求下面算术表达式的值。

(1)x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7;

(2)(float)(a+b)/2+(int)x%(int)y,设a=2,b=3,x=3.5,y=2.5。

(1)main()

{inta=7;

floatx=2.5,y=4.7;

%f\n"

x+a%3*(int)(x+y)%2/4);

}

(2)main()

{inta=2,b=3;

floatx=3.5,y=2.5;

(float)(a+b)/2+(int)x%(int)y);

第三章顺序结构程序设计

ACDCC

二操作题

1.x=3,a=2,b=3

2.z=12.700000

3.121

a

212

三.编程题

编程题

1.某工种按小时计算工资,每月劳动时间(小时)×

每小时工资=总工资,总工资中扣除10%公积金,剩余的为应发工资。

编写一个程序从键盘输入劳动时间和每小时工资,打印出应发工资。

#include<

stdio.h>

floatsj,gz,yfgz;

printf("

time,salary:

"

scanf("

%f,%f"

&

sj,&

gz);

yfgz=sj*gz*0.9;

totalsalary:

yfgz);

time,salary:

4,3<

CR>

totalsalary:

10.800000

2.编写一个程序求出任意一个输入字符的ASCII码

charc;

Inputastring:

%c"

c);

%cASCIIis%d\n"

c,c);

Inputastring:

a<

aASCIIis97

3、编写一个程序用于水果店售货员算帐:

已知苹果每斤2.50元,鸭梨每斤1.80元,香蕉每斤2元,橘子每斤1.6元,要求输入各类水果的重量,打印出应付钱数,再输入顾客付款数,打印出应找的钱数。

floatp,y,x,j,ys,g,fk;

apple,pear,banana,orange(weight)="

scanf("

%f,%f,%f,%f"

p,&

y,&

x,&

j);

ys=2.5*p+1.8*y+2*x+1.6*j;

fukuan="

%f"

g);

fk=g-ys;

result:

\n"

fukuan=%6.2fyuan\nshoukuan=%6.2fyuan\nzhaohui=%6.2fyuan\n"

g,ys,fk);

apple,pear,banana,orange(weight)=1,2,3,4

fukuan=100

fukuan=100.00yuan

shoukuan=18.50yuan

zhaohui=81.50yuan

项目实训

1.假设银行定期存款的年利率rate为2.25%,并已知存款期为n年,存款本金为capital元,试编程计算n年后可得到本利之和deposit。

#include<

math.h>

{intn;

floatrate=0.0225,capital,deposit;

scanf("

%d,%f"

n,&

capital);

deposit=capital*pow(1+rate,n);

printf("

deposit=%f\n"

deposit);

}

2.将一个三位数整数,正确分离出它的个位、十位和百位数字,并分别在屏幕上输出。

{intn,a,b,c;

%3d"

n);

a=n/100;

b=n%100/10;

c=n%100%10/1;

a=%d,b=%d,c=%d\n"

a,b,c);

第四章选择结构程序设计

一、略

二、BBABCBA

三、1.10

2.2322

3.10200

4.ch>

=’A’&

&

ch<

=’Z’||ch>

=’a’&

=’z’

ch>

=’0’&

=’9’

ch==’’

5.-1

四、上机操作

1.从键盘输入一个英文字母,如果是大写字母,则将它变为小写字母输出;

如果是小写字母,则将其变为大写字母输出。

#include<

{charch;

ch=getchar();

if(ch>

='

A'

Z'

)ch+=32;

elseif(ch>

a'

z'

)ch-=32;

putchar(ch);

putchar('

\n'

2.根据输入的x值依据下列表达式,计算y的值。

2x(x>

-1)

y=3(x=-1)

4+x(x<

floatx,y;

x);

if(x>

y=2*x;

elseif(x==1)

y=3;

elsey=4+x;

y=%f"

y);

-2<

y=2.000000

3.编写程序,输入一个整数,判断它是奇数还是偶数,若是奇数,输出“IsOdd“;

若是偶数,输出“IsEven“。

{intx;

%d"

if(x%2==0)printf("

IsEven\n"

elseprintf("

IsOdd\n"

}

4.设计应用程序,求二次方程ax2+bx+c=0的解。

{floata,b,c,disc,x1,x2,p,q;

%f,%f,%f"

a,&

b,&

if(fabs(a)<

=1e-6)printf("

Theequationisnotaquadratic\n"

else

{disc=b*b-4*a*c;

if(fabs(disc)<

1e-6)printf("

x1=x2=%8.4f\n"

-b/(2*a));

elseif(disc>

1e-6)

{x1=(-b+sqrt(disc)/(2*a));

x2=(-b-sqrt(disc)/(2*a));

printf("

x1=%8.4f,x2=%8.4f\n"

x1,x2);

else

{p=-b/(2*a);

q=sqrt(-disc/(2*a));

%8.4f+%x8.4fi\n"

p,q);

%8.4f-%8.4fi\n"

}}}

5.按托运规则,行李不超过50公斤时,运费为0.15元/公斤,如超过50公斤,超过部分的运费为0.22元/公斤,现有行李w公斤,编写一个程序计算运费。

#include<

floatw,f,x;

weight:

w);

if(w<

=50)

x=0.15*w;

else

x=0.15*50+0.22*(w-50);

money:

%6.2fyuan\n"

x);

weight:

20<

money:

3.00yuan

60<

9.70yuan

6.某商场给与顾客购物的折扣率如下:

购物金额<

200元不打折

500元>

购物金额>

=200元9折

1000元>

=500元8折

=1000元7.5折

输入一个购物金额,输出打折率、购物实际付款金额。

{floatx,y,realx;

if(x<

=0){printf("

Error!

Youinputaworrynumber!

y=0;

{if(x<

200)y=1.0;

elseif(x<

500)y=0.9;

1000)y=0.8;

elsey=0.75;

if(y!

=0)

{realx=x*y;

y=%f,therealx=%5.2f\n"

y,realx);

}}

某托儿所收2岁到6岁的孩子,2岁、3岁孩子进小班(Lowerclass);

4岁孩子进中班(Middleclass);

5岁、6岁孩子进大班(Higherclass)。

编写程序(用if语句和switch语句),输入孩子年龄,输出年龄及进入的班号。

如:

输入:

3,输出:

age:

3,enterLowerclass。

{intage;

Pleaseinputyourbaby'

sage:

age);

if(age>

6||age<

2)printf("

Sorry,yourbabycan'

tenter!

elseswitch(age);

{case2:

case3:

age:

%d,enterLowerclass\n"

age);

break;

case4:

%d,enterMiddleclass\n"

break;

case5:

case6:

%d,enterHigherclass"

}}

第五章循环结构程序设计

一、选择题

CCAADD

三、操作题

1.求s=1+3+5+7+…100的值。

#include"

stdio.h"

inti,sum=0;

for(i=1;

i<

=100;

i+=2)

sum=sum+i;

sum=%d"

sum);

2.输入班级学生考试成绩,求考试平均成绩。

约定当输入负数时,表示输入结束。

{floatsum=0,score,ave;

intn=0;

score);

while(score>

0)

{n++;

sum=sum+score;

scanf("

ave=sum/n;

\nTheaveragescoreis%.2f"

ave);

3.输入一行字符以@作结束标志,分别统计其中英文字母、空格、数字和其它字符的个数。

{charch;

intcha=0,space=0,digit=0,other=0;

while((ch=getchar())!

@'

{if(ch>

||ch>

)cha++;

elseif(ch=='

'

)space++;

elseif(ch>

0'

9'

)digit++;

elseother++;

\ncha=%d,space=%d,digit=%d,other=%d"

cha,space,digit,other);

}

4.一张纸的厚度为0.1毫米,珠穆琅玛峰的高度为8848.13米,假如纸张有足够大,将纸对折多少次后可以超过珠峰的高度?

{floath=8848.13,h0=0.0001,h1;

intm=0;

h1=h0;

while(h0<

=h)

{h0=2*h0;

printf("

\nm=%d,high=%f"

m,h0);

m++;

}

printf("

\nm=%d\n"

m-1);

5、编写一个程序求出满足下列条件的四位数,该数是一个完全平方数;

第一、三位上数之和为10,第二、四位上数之积为12。

解:

#include<

inti,j,a,b,c,d;

for(i=32;

=99;

i++)

{

j=i*i;

a=j/1000;

b=j/100-a*10;

c=j/10-a*100-b*10;

d=j-a*1000-b*100-c*10;

if(a+c==10&

b*d==12)

%d"

j);

12969216

6、一个正数与3的和是5的倍数,与3的差是6的倍数,编写一个程序求符合条件的最小数。

intn;

n=1;

while

(1)

{

n=n+1;

if((n+3)%5==0&

(n-3)%6==0)break;

n=%d"

n);

n=27

7、已知xyz+yzz=532,其中x、y、z都是数字,编写一个程序求出x、y、z分别是多少。

intx,y,z,i;

for(x=1;

x<

=9;

x++)

for(y=1;

y<

y++)

for(z=0;

z<

z++)

{

i=100*x+10*y+z+100*y+10*z+z;

if(i==532)printf("

x=%d,y=%d,z=%d\n"

x,y,z);

}

本程序运行结果为:

x=3,y=2,z=1

8、学校有近千名学生排队,5人一行余2人,7人一行余3人,3人一行余1人,求学生人数。

intn;

for(n=1000;

n>

=10;

n--)

if(n%5==2&

n%7==3&

n%3==1)break;

n=%d\n"

n=997

9.验证歌德巴赫猜想:

任意一个大于6的偶数均可表示为两个质数的和。

{inti,x;

intp,q,k1,k2;

Pleaseinputanodddata(>

=6):

for(p=3;

p<

=x/2;

p+=2)

{k1=k2=1;

q=x-p;

if(p>

2)

for(i=2;

p;

if(p%i==0)k1=0;

for(i=2;

q;

if(q%i==0)k2=0;

if(k1==1&

k2==1)printf("

%d=%d+%d\n"

x,p,q);

}}

10.一个数恰好等于它的平方数的右端,这个数称为同构数。

如:

5的平方是25,25的平方是625。

找出1~1000之间的全部同构数。

math.h"

main()

{inti,j,k=0;

for(i=2;

1000;

{if(i/10==0)j=1;

/*因为i是整型,所以是整除*/

elseif(i/100==0)j=2;

elseif(i/1000==0)j=3;

if((longint)i*i%(int)pow(10,j)==i)/*同构数的定义*/

{k++;

/*计数器*/

printf("

%10d"

i);

if(k%5==0)printf("

}}

printf("

\nk=%d"

k);

}

1.编写程序求1-1/2+1/3-1/4+…+1/99-1/100的值

inti,s=-1;

floatsum=1.0;

for(i=2;

sum=sum+1.0*s/i;

sum=%f"

2.曾有一位印度国王要奖赏他的聪明能干的宰相达依尔。

达依尔只要求在国际象棋的棋盘格上放置小麦粒,第一格放1粒,第二格放两粒,第三格放4粒,第四格放8粒,……,最后能有多少小麦粒呢?

{floati,s=1,t=1;

for(i=1;

=63;

{t*=2;

s+=t;

s=%f\n"

s);

3.打印水仙花数,即一个三位数各位上的数字之和等于它本身,如:

153=13+53+33。

{intk1,k2,k3,i;

for(k1=1;

k1<

k1++)

for(k2=0;

k2<

k2++)

for(k3=0;

k3<

k3++)

{i=k1*k1*k1+k2*k2*k2+k3*k3*k3;

if(i==k1*100+k2*10+k3)

printf("

\n%d=%d^3+%d^3+%d^3"

i,k1,k2,k3);

}}

4.编制电视歌手大奖赛评分程序,要求评委人数和每位评委的打分从键盘输入,去掉一个最高分,再去掉一个最低分,求评委给出的最后得分。

main()/*TV大奖赛*/

{intn,i=1;

floatx,max,min,sum=0;

\nPleaseinputthenumberofscore:

\nInputscore:

max=x;

min=x;

sum=x;

while(i<

n)

{i++;

sum+=x;

if(max<

x)max=x;

elseif(x<

min)min=x;

sum=(sum-max-min)/(n-2);

Thelastscoreis%8.2f\n"

}

5.打印下列图形。

*****

*****

*****

*****

*****

{inti,j;

for(i=1;

=5;

{for(j=1;

j<

=5-i;

j++)

printf("

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

当前位置:首页 > 农林牧渔 > 林学

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

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