习题参考答案.docx

上传人:b****1 文档编号:2903491 上传时间:2023-05-05 格式:DOCX 页数:82 大小:35.85KB
下载 相关 举报
习题参考答案.docx_第1页
第1页 / 共82页
习题参考答案.docx_第2页
第2页 / 共82页
习题参考答案.docx_第3页
第3页 / 共82页
习题参考答案.docx_第4页
第4页 / 共82页
习题参考答案.docx_第5页
第5页 / 共82页
习题参考答案.docx_第6页
第6页 / 共82页
习题参考答案.docx_第7页
第7页 / 共82页
习题参考答案.docx_第8页
第8页 / 共82页
习题参考答案.docx_第9页
第9页 / 共82页
习题参考答案.docx_第10页
第10页 / 共82页
习题参考答案.docx_第11页
第11页 / 共82页
习题参考答案.docx_第12页
第12页 / 共82页
习题参考答案.docx_第13页
第13页 / 共82页
习题参考答案.docx_第14页
第14页 / 共82页
习题参考答案.docx_第15页
第15页 / 共82页
习题参考答案.docx_第16页
第16页 / 共82页
习题参考答案.docx_第17页
第17页 / 共82页
习题参考答案.docx_第18页
第18页 / 共82页
习题参考答案.docx_第19页
第19页 / 共82页
习题参考答案.docx_第20页
第20页 / 共82页
亲,该文档总共82页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

习题参考答案.docx

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

习题参考答案.docx

习题参考答案

习题参考答案

第1章

1.a=%d,b=%d

2.

【程序代码如下:

#include

intmain()

{

printf(“*\n”);

printf(“***\n”);

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

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

return0;

}

【程序运行结果如下:

3.Theresultis95

第2章

1.a=3,b=-27

2.假设圆柱的底面积半径为r(=2.5),高为h(=3.5),编写求体积(体积=底面积*

高)的程序。

【程序代码如下:

#include

#definePI3.1415926

intmain()

{

doubler=2.5;

doubleh=3.5;

doublev=0;

v=(PI*r*r)*h;

printf(“v=%lf\n”,v);

return0;

}

【程序运行结果如下:

3.将下面的数学公式转换成C语言的表达式,并用程序验证转换后的表达式是否与

原数学公式是一致的。

数学公式如下:

ba

ba

ba

ba

a

+

+

+−

4

2

4

2

设a=3,b=5。

【程序代码如下:

#include

intmain()

{

doublea=3,b=5;

doubleresult=(-2*a+(4*a–b)/(2*a+b))/((a-4*b)/(a+b));

printf(“%lf\n”,result);

return0;

}

【程序运行结果如下:

4.编写程序,从键盘输入两个字符分别存放在变量x和y中,要求通过程序交换它们

的值。

【程序代码如下:

#include

intmain()

{

charx,y;

chartmp;

printf(“Inputtwocharacters:

”);

scanf(“%c%c”,&x,&y);

printf(“Beforeswap:

x=%c,y=%c\n”,x,y);

tmp=x;

x=y;

y=tmp;

printf(“Afterswap:

x=%c,y=%c\n”,x,y);

return0;

}

【程序运行结果如下:

5.Writeaprogramtoevaluatethepolynomialshownhere:

forx=2.55.

3x3-5x2+6.

【程序代码如下:

#include

#include

intmain()

{

doublea=3,b=-5,c=2;

doublex=2.55;

doubleroot1,root2;

doubledelt;

delt=b*b–4*a*c;

root1=(-b+sqrt(delt))/(2*a);

root2=(-b-sqrt(delt))/(2*a);

printf(“Thetworootsare:

\n”);

printf(“root1=%lf\nroot2=%lf\n”,root1,root2);

return0;

}

【程序运行结果如下:

第3章

1.1010110

2.某市不同车牌的出租车3公里的起步价和计费分别为:

夏利7元/公里,3公里以外

2.1元/公里;富康8元/公里,3公里以外2.4元/公里;桑塔纳9元,3公里以外2.7元/公里。

编程:

从键盘输入乘车的车型及公里数,输出应付的车资。

【程序代码如下:

#include

intmain()

{

intcarType;//车型。

1代表夏利;2代表富康;3代表桑塔纳

doublexiali=2.1;//每公里价格

doublefukang=2.4;

doublesangtana=2.7;

doubledistance;//距离

doubletotalMoney;//总的收费

printf("请输入您乘坐的车型:

1代表夏利;2代表富康;3代表桑塔纳:

");

scanf("%d",&carType);

printf("请输入您乘车的总路程:

");

scanf("%lf",&distance);

if(carType==1)//夏利

{

if(distance<3)

totalMoney=7.0;

else

totalMoney=7+xiali*(distance–3);

}

elseif(carType==2)//富康

{

if(distance<3)

totalMoney=8.0;

else

totalMoney=8+fukang*(distance–3);

}

elseif(carType==3)//富康

{

if(distance<3)

totalMoney=9.0;

else

totalMoney=9+sangtana*(distance–3);

}

printf("(四舍五入)您的车费为:

%.0lf\n",totalMoney);

return0;

}

【程序运行结果如下:

3.Writeaprogramthataskstheusertotypeintwointegervaluesattheterminal.Test

thesetwonumbertodetermineifthefirstisevenlydivisiblebythesecond,andthendisplayan

appropriatemessageattheterminal.

【程序代码如下:

#include

intmain()

{

intnum1,num2;

printf(“Inputtwointegers:

”);

scanf(“%d%d”,&num1,&num2);

if(0==num1%num2)

printf(“%dcanbeevenlydivisibleby%d\n”,num1,num2);

else

printf(“%dcannotbeevenlydivisibleby%d\n”,num1,num2);

return0;

}

【程序运行结果如下:

第4章

1.65B

2.c=J

3.编写程序,从键盘输入两个数字字符并分别存放在字符型变量x和y中,要求通过

程序将这两个字符对应的数字相加后输出。

【程序代码如下:

#include

intmain()

{

charx,y;

printf(“Inputtwocharacters:

”);

scanf(“%c%c”,&x,&y);

if(x>=’0’&&x<=’9’&&y>=’0’&&y<=’9’)

printf(“%d\n”,x-'0'+y-'0');

return0;

}

【程序运行结果如下:

4.编写程序,从键盘上输入一个小写字母,将其转化为大写字母。

【程序代码如下:

#include

intmain()

{

charlower;

printf(“Inputaloweralpha:

”);

scanf(“%c”,&lower);

if(lower>=’a’&&lower<=’z’)

printf(“%c\n”,lower-32);

return0;

}

【程序运行结果如下:

5.Writeaprogramthattakesanintegerkeyedinfromtheterminalandextractsand

displayseachdigitoftheintegerinEnglish.So,iftheusertypes932,theprogramshoulddisplay

“ninethreetwo”.

【程序代码如下:

#include(这题应该放到第6章)

intmain()

{

intnum;

intiDigit;//每一位上的数字

printf(“Pleasseinputaninteger:

”);

scanf(“%d”,&num);

while(num)//当该数不为0时,继续提取其个位上的数字

{

iDigit=num%10;//提取个位

switch(iDigit)

{

case0:

printf(“Zero“);break;

case1:

printf(“One“);break;

case2:

printf(“Two“);break;

case3:

printf(“Three“);break;

case4:

printf(“Four“);break;

case5:

printf(“Five“);break;

case6:

printf(“Six“);break;

case7:

printf(“Seven“);break;

case8:

printf(“Eight“);break;

case9:

printf(“Night“);break;

}

num/=10;//去掉该数的个位

}

printf(“\n”);

return0;

}

【程序运行结果如下:

第5章

1.C2.B3.C4.C5.B6.A7.A

8.错误。

9.正确。

10.void

11.编写程序,用有参有返回值函数实现判断三个数是否能构成三角形。

函数原型可声

明为:

“intisTriangle(doublea,doubleb,doublec);”,其中,a,b,c为三角形的三条边,

返回值为0或1,0代表不能构成三角形,1代表能构成三角形。

请在主函数中调用该函数

完成程序的功能。

【程序代码如下:

#include

intisTriangle(doublea,doubleb,doublec);//函数声明

intmain()

{

doubleea,eb,ec;//三角形的三条边

intresult;//是否是三角形的判断结果

printf(“Pleaseinputthethreeedgesofatriangle:

”);

scanf(“%lf%lf%lf”,&ea,&eb,&ec);

result=isTriangle(ea,eb,ec);//函数调用

if(0==result)

printf(“这组边长不能构成三角形\n”);

else

printf(“这组边长可以构成三角形\n”);

return0;

}

intisTriangle(doublea,doubleb,doublec)//函数定义

{

if(a>0&&b>0&&c>0&&a+b>c&&b+c>a&&c+a>b)

//三角形任意边长大于0,且任意两边之和大于第三边

return1;//可以构成三角形

else

return0;//不能构成三角形

}

【程序运行结果如下:

12.Writeafunctioncalledprimethatreturns1ifitsargumentisaprimenumberandreturns

0otherwise.

【程序代码如下:

#include(这题应该放到第6章)

#include

intprime(intn);//函数声明

intmain()

{

intnum;

intisPrime;

printf(“Pleaseinputaninteger:

”);

scanf(“%d”,&num);

isPrime=prime(num);//函数调用

if(1==isPrime)

printf(“%disaprime\n”,num);

else

printf(“%disnotaprime\n”,num);

return0;

}

intprime(intn)//函数定义

{

inti;

for(i=2;i<=sqrt(n);++i)

if(n%i==0)break;

if(i>sqrt(n))

return1;

else

return0;

}

【程序运行结果如下:

第6章

1.A2.B3.D4.C5.D6.C7.A8.A9.A

10.511.3

12.编写程序。

功能:

从读入的整数数据中,统计大于零的整数个数和小于零的整数个

数。

用输入零来结束输入,程序中用变量i统计大于零的整数个数,用变量j统计小于零的

整数个数。

【程序代码如下:

#include

intmain()

{

intnum;//输入的整数

intiCount=0;//大于0的整数的计数变量

intjCount=0;//小于0的整数的计数变量

printf(“请输入多个整数:

(以0结束输入)”);

scanf(“%d”,&num);

while(num)//while(num!

=0)

{

if(num>0)++iCount;

elseif(num<0)++jCount;

scanf(“%d”,&num);

}

printf(“大于0的个数:

%d\n”,iCount);

printf(“小于0的个数:

%d\n”,jCount);

return0;

}

【程序运行结果如下:

13.编写程序。

功能:

以每行5个数来输出300以内能被7或17整除的偶数,并求出

其和。

【程序代码如下:

#include

intmain()

{

intn;//300以内的数

intcount=0;//满足条件的数的统计变量

intsum=0;//求和变量

for(n=1;n<=300;++n)

{

if(n%2==0&&(n%7==0||n%17==0))//是偶数,且能被7或17整除

{

sum+=n;//求和

printf(“%5d”,n);//输出n值

++count;

if(count%5==0)//某行够5个数了,则换行

printf(“\n”);

}

}

printf(“\n”);

return0;

}

【程序运行结果如下:

14.编写程序。

功能:

输出100到1000之间的各位数字之和能被15整除的所有数,输

出时每10个数一行。

【程序代码如下:

#include(移到第7章)

intmain()

{

intn;//100到1000之间的整数

inttmpn;//临时存储n

intsum;//统计n的各位数字之和

intcount=0;//输出数的个数

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

{

tmpn=n;//将n临时存储到tmpn中

sum=0;//每个n要重新计算各位数字之和

while(tmpn)//当tmpn不为0时

{

sum+=tmpn%10;

tmpn/=10;

}

if(sum%15==0)//如果n满足指定的条件

{

printf(“%5d”,n);//输出当前n值

++count;

if(count%10==0)//一行输出了10个整数,则换行

printf(“\n”);

}

}

printf(“\n”);

return0;

}

【程序运行结果如下:

15.编写程序。

功能:

分别求出一批非零整数中的偶数、奇数的平均值,用零作为终止

标记。

【程序代码如下:

#include

intmain()

{

intn;//整数

inteSum=0;//奇数的和

intoSum=0;//偶数的和

inteCount=0;//奇数的个数

intoCount=0;//偶数的个数

printf(“请输入若干个整数(以0结束输入):

”);

scanf(“%d”,&n);

while(n)//当n不为0

{

if(n%2)//n为奇数

{eSum+=n;++eCount;}

else//否则,n为偶数

{oSum+=n;++oCount;}

scanf(“%d”,&n);//输入下一个整数

}

printf(“奇数平均值:

%f\n”,1.0*eSum/eCount);

printf(“偶数平均值:

%f\n”,1.0*oSum/oCount);

return0;

}

【程序运行结果如下:

16.编写程序。

功能:

计算并输出500以内最大的10个能被13或17整除的自然数之

和。

【程序代码如下:

#include

intmain()

{

intn;//500-1之间的整数

intsum=0;//求和变量

intcount=0;//满足条件的数的个数

for(n=500;n>0;--n)

{

if(n%13==0||n%17==0)

{

sum+=n;

++count;

if(count>=10)//有10个满足条件的整数,提前结束循环

break;

}

}

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

return0;

}

【程序运行结果如下:

第7章

1.B

2.编写程序。

功能:

百马百担问题:

有100匹马,驮100担货,大马驮三担,中马驮

2担,两匹小马驮一担,求大、中、小马各多少匹?

【程序代码如下:

#include

intmain()

{

intbigHorse,midHorse,littleHorse;//大、中、小马的数量

for(bigHorse=0;bigHorse<=33;++bigHorse)

for(midHorse=0;midHorse<=50;++midHorse)

{

littleHorse=100–bigHorse–midHorse;//小马数量

if(littleHorse%2==0&&(3*bigHorse+2*midHorse+littleHorse/2

==100))//小马数量是偶数,且三种马驮的货是100担

printf(“大马:

%d,中马:

%d,小马:

%d\n”,bigHorse,midHorse,

littleHorse);

}

return0;

}

【程序运行结果如下:

3.编写程序。

功能:

百鸡问题:

100元买100只鸡,公鸡一只5元钱,母鸡一只3元钱,

小鸡一元钱三只,求100元钱能买公鸡、母鸡、小鸡各多少只?

【程序代码如下:

#include

intmain()

{

intcock,hen,chick;//公鸡、母鸡、小鸡的数量

for(cock=0;cock<=20;++cock)

for(hen=0;hen<=33;++hen)

{

chick=100–cock–hen;//小鸡数量

if(chick%3==0&&(5*cock+3*hen+chick/3==100))//小鸡

数量是3的倍数,且三种鸡的总钱数是100

printf(“公鸡:

%d,母鸡:

%d,小鸡:

%d\n”,cock,hen,chick);

}

return0;

}

【程序运行结果如下:

4.编写程序。

功能:

在屏幕上用*输出一个漏斗状的图形。

【程序代码如下:

#include

voidprintFunnel(intn);//函数声明

intmain()

{

intn;//上半部的总行数

printf(“请输入漏斗上半部的总行数:

”);

scanf(“%d”,&n);

printFunnel(n);//调用函数打印漏斗形

return0;

}

voidprintFunnel(intn)

{

introw;//行号

intstarCount;//某行上星号的数量

intspaceCount;//某行上空格的数量

for(row=1;row<=n;++row)

{

for(spaceCount=1;spaceCount<=row–1;++spaceCount)

printf(““);//打印出某行上星号前的空格

for(starCount=1;starCount<=2*(n–row)+1;++starCount)

printf(“*“);//打印出某行上的所有星号

printf(“\n”);//换行

}

//打印下半部分(可看成一个n-2行的三角形

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

当前位置:首页 > 法律文书 > 调解书

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

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