c语言习题及答案 爱课程mooc.docx

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

c语言习题及答案 爱课程mooc.docx

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

c语言习题及答案 爱课程mooc.docx

c语言习题及答案爱课程mooc

第一章

1.1

题目内容:

使用printf()在屏幕上输出helloworld!

提示:

#include?

intmain()

{

printf("helloworld!

\n");

return0;

}

输入格式:

输出格式:

输出提示信息:

"helloworld!

\n"

输入样例:

输出样例:

helloworld!

#include

intmain()

{

printf("helloworld!

\n");

return0;

}

1.2

在屏幕上输出多行信息(3分)

题目内容:

使用printf()函数在屏幕上输出以下多行信息:

helloworld!

hellohit!

helloeveryone!

提示:

在printf()函数中转义字符‘\n’表示换行。

输入格式:

输出格式:

输出提示信息:

"helloworld!

\n"

"hellohit!

\n"

"helloeveryone!

\n"

输入样例:

输出样例:

helloworld!

hellohit!

helloeveryone!

#include

intmain()

{

printf("helloworld!

\n");

printf("hellohit!

\n");

printf("helloeveryone!

\n");

return0;

}

1.3

计算半圆弧的周长及半圆面积(3分)

题目内容:

编程并输出半径r=5.3的半圆弧的周长及该半圆的面积,

的取值为3.14159。

要求半径r和

必须利用宏常量表示。

输入格式:

输出格式:

半圆的面积输出格式:

?

"Area=%f\n"

半圆弧的周长输出格式:

?

"circumference=%f\n"

输入样例:

输出样例:

Area=44.123632

circumference=16.650427

#include

#definePI3.14159

#defineR5.3

intmain()

{

printf("Area=%f\n",R*R*PI/2);

printf("circumference=%f\n",2*R*PI/2);

return0;

}

1.4

计算长方体体积(3分)

题目内容:

编程并输出长1.2、宽4.3、高6.4的长方体的体积。

要求长方体的长、宽、高必须利用const常量表示。

输入格式:

输出格式:

长方体的体积输出格式:

"volume=%.3f\n"

输入样例:

输出样例:

#include

intmain()

{

constfloatl=1.2;

constfloatx=4.3;

constfloaty=6.4;

printf("volume=%.3f\n",l*x*y);

return0;

}

第三章

3.1

计算两个数的平方和(3分)

题目内容:

从键盘读入两个实数,编程计算并输出它们的平方和,要求使用数学函数pow(x,y)计算平方值,输出结果保留2位小数。

提示:

使用数学函数需要在程序中加入编译预处理命令#include

以下为程序的输出示例:

pleaseinputxandy:

1.2,3.4↙

result=13.00

输入格式:

"%f,%f"

输出格式:

输入提示信息:

"pleaseinputxandy:

\n"

输出格式:

"result=%.2f\n"

输入样例:

输出样例:

#include

#include

intmain()

{

printf("pleaseinputxandy:

\n");

floatx,y;

scanf("%f,%f",&x,&y);

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

return0;

}

3.2

逆序数的拆分计算(3分)

题目内容:

从键盘输入一个4位数的整数,编程计算并输出它的逆序数(忽略整数前的正负号)。

例如,输入-1234,忽略负号,由1234分离出其千位1、百位2、十位3、个位4,然后计算4*1000+3*100+2*10+1=4321,并输出4321。

再将得到的逆序数4321拆分为两个2位数的正整数43和21,计算并输出拆分后的两个数的平方和的结果。

以下是程序的输出示例:

Inputx:

-1234↙

y=4321

a=43,b=21

result=2290

输入格式:

"%d"

输出格式:

输入提示信息:

"Inputx:

\n"

逆序数输出格式:

"y=%d\n"

逆序数拆分后的输出格式:

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

平方和的输出格式:

"result=%d\n"

输入样例:

输出样例:

#include

intmain()

{

printf("Inputx:

\n");

intx;

scanf("%d",&x);

if(x<=0)

{

x=-x;

}

inta,b,c,d;

a=x/1000;

b=x/100%10;

c=x/10%10;

d=x%10;

printf("y=%d\n",d*1000+c*100+b*10+a);

printf("a=%d,b=%d\n",d*10+c,b*10+a);

printf("result=%d\n",(b*10+a)*(b*10+a)+(d*10+c)*(d*10+c));

return0;

}

3.3

拆分英文名(3分)

题目内容:

从键盘输入某同学的英文名(小写输入,假设学生的英文名只包含3个字母。

如:

tom),编写程序在屏幕上输出该同学的英文名,且首字母大写(如:

Tom)。

同时输出组成该英文名的所有英文字符在26个英文字母中的序号。

以下为程序的输出示例:

inputyourEnglishname:

tom↙

Tom

t:

20

o:

15

m:

13

输入格式:

"%c%c%c"

输出格式:

输入提示信息:

"inputyourEnglishname:

\n"

首字母大写的英文姓名的输出格式:

"%c%c%c\n"

姓名中每个字母在26个英文字母中的序号的输出格式:

"%c:

%d\n"

输入样例:

输出样例:

#include

intmain()

{

printf("inputyourEnglishname:

\n");

chara,b,c;

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

printf("%c%c%c\n",a+'A'-'a',b,c);

printf("%c:

%d\n",a,a-'a'+1);

printf("%c:

%d\n",b,b-'a'+1);

printf("%c:

%d\n",c,c-'a'+1);

return0;

}

3.4

计算体指数(3分)

题目内容:

从键盘输入某人的身高(以厘米为单位,如174cm)和体重(以公斤为单位,如70公斤),将身高(以米为单位,如1.74m)和体重(以斤为单位,如140斤)输出在屏幕上,并按照以下公式计算并输出体指数,要求结果保留到小数点后2位。

假设体重为w公斤,身高为h米,则体指数的计算公式为:

以下是程序的输出示例:

inputweight,height:

70,174↙

weight=140

height=1.74

t=23.12

输入格式:

"%d,%d"

输出格式:

输入提示信息:

"inputweight,height:

\n"?

?

(注意:

在height和逗号之间有一个空格)

体重输出格式:

"weight=%d\n"

身高输出格式:

"height=%.2f\n"

体指数输出格式:

"t=%.2f\n"

输入样例:

输出样例:

#include

intmain()

{

intx,y;

printf("inputweight,height:

\n");

scanf("%d,%d",&x,&y);

printf("weight=%d\n",x*2);

printf("height=%.2f\n",y/100.0);

printf("t=%.2f\n",x/((y/100.0)*(y/100.0)));

return0;

}

第四章

4.1

数位拆分v2.0(4分)

题目内容:

从键盘上输入一个4位数的整数n,编写程序将其拆分为两个2位数的整数a和b,计算并输出拆分后的两个数的加、减、乘、除和求余运算的结果。

例如n=-4321,设拆分后的两个整数为a,b,则a=-43,b=-21。

除法运算结果要求精确到小数点后2位。

求余和除法运算需要考虑除数为0的情况,即如果拆分后b=0,则输出提示信息"thesecondoperateriszero!

"

程序的运行结果示例1:

pleaseinputn:

1200↙

12,0

sum=12,sub=12,multi=0

thesecondoperateriszero!

程序的运行结果示例2:

pleaseinputn:

-2304↙

-23,-4

sum=-27,sub=-19,multi=92

dev=5.75,mod=-3

输入格式:

"%d"

输出格式:

输入提示信息:

"pleaseinputn:

\n"

拆分后的两个整数的输出格式:

"%d,%d\n"

加法、减法、乘法的输出格式:

"sum=%d,sub=%d,multi=%d\n"

除法和求余的输出格式:

"dev=%.2f,mod=%d\n"

除数为0的提示信息:

"thesecondoperateriszero!

\n"

输入样例:

输出样例:

#include

main()

{

intm,x,y;

printf("pleaseinputn:

\n");

scanf("%d",&m);

x=m/100;

y=m%100;

printf("%d,%d\n",x,y);

printf("sum=%d,sub=%d,multi=%d\n",x+y,x-y,x*y);

if(y!

=0){

printf("dev=%.2f,mod=%d\n",(float)x/y,x%y);

}

else{

printf("thesecondoperateriszero!

\n");

}

}

4.2

快递费用计算(4分)

题目内容:

上海市的某快递公司根据投送目的地距离公司的远近,将全国划分成5个区域:

0区

1区

2区

3区

4区

同城

临近两省

1500公里(含)以内

1500——2500公里

2500公里以上

上海

江苏,浙江

北京,天津,河北,辽宁,河南,安微,陕西,湖北,江西,湖南,福建,广东,山西。

吉林,辽宁,甘肃,四川,重庆,青海,广西,云南,海南,内蒙古,黑龙江,贵州。

新疆,西藏。

快递费按邮件重量计算,由起重费用、续重费用两部分构成:

(1)起重(首重)1公斤按起重资费计算(不足1公斤,按1公斤计算),超过首重的重量,按公斤(不足1公斤,按1公斤计算)收取续重费;

(2)同城起重资费10元,续重3元/公斤;

(3)寄往1区(江浙两省)的邮件,起重资费10元,续重4元;

(4)寄往其他地区的邮件,起重资费统一为15元。

而续重部分,不同区域价格不同:

2区的续重5元/公斤,3区的续重6.5元/公斤,4区的续重10元/公斤。

编写程序,从键盘输入邮件的目的区域编码和重量,计算并输出运费,计算结果保留2位小数。

提示:

续重部分不足一公斤,按1公斤计算。

因此,如包裹重量2.3公斤:

1公斤算起重,剩余的1.3公斤算续重,不足1公斤按1公斤计算,1.3公斤折合续重为2公斤。

如果重量应大于0、区域编号不能超出0-4的范围。

程序运行结果示例1:

4,4.5↙

Price:

55.00

程序运行结果示例2:

5,3.2↙

ErrorinArea

Price:

?

0.00

输入格式:

用逗号分隔的两个数字,第一个表示区域、第二个是重量:

"%d,%f"

输出格式:

价格的输出格式:

"Price:

%5.2f\n"

区域错误的提示信息:

"ErrorinArea\n"

输入样例:

输出样例:

#include

#include

intmain()

{

intarea;

floatweight,price,x1,x2;

scanf("%d,%f",&area,&weight);

if(weight<=1){

x1=1.0;

}

else{

x1=1.0;

x2=ceil(weight-1);

}

if(area>0&&area<=4){

switch(area){

case(0):

price=x1*10+x2*3;break;

case

(1):

price=x1*10+x2*4;break;

case

(2):

price=x1*15+x2*5;break;

case(3):

price=x1*15+x2*6.5;break;

case(4):

price=x1*15+x2*10;break;

}

printf("Price:

%5.2f\n",price);

}

else{

printf("ErrorinArea\n");

printf("Price:

0.00\n");

}

return0;

}

4.3

数据区间判断(5分)

题目内容:

从键盘输入一个int型的正整数n(已知:

0

如果用户输入的数据不在指定的范围里,程序输出"error!

"。

例如,输入265,则该数属于区间100-999。

程序运行结果示例1:

Pleaseenterthenumber:

2563↙

2563:

1000-9999

程序运行结果示例2:

Pleaseenterthenumber:

156↙

156:

100-999

程序运行结果示例3:

Pleaseenterthenumber:

36↙

36:

10-99

程序运行结果示例4:

Pleaseenterthenumber:

3↙

3:

0-9

程序运行结果示例5:

Pleaseenterthenumber:

10923↙

error!

输入格式:

"%d"

输出格式:

输入提示信息:

"Pleaseenterthenumber:

\n"

输出的区间判断:

"%d:

1000-9999\n"

"%d:

100-999\n"

"%d:

10-99\n"

"%d:

0-9\n"

输入错误提示信息:

"error!

\n"

输入样例:

输出样例:

#include

#include

intmain()

{

intx;

printf("Pleaseenterthenumber:

\n");

scanf("%d",&x);

if(x>=1000&&x<=9999)printf("%d:

1000-9999\n",x);

elseif(x>=0&&x<=9)printf("%d:

0-9\n",x);

elseif(x>=10&&x<=99)printf("%d:

10-99\n",x);

elseif(x>=100&&x<=999)printf("%d:

100-999\n",x);

elseprintf("error!

\n");

return0;

}

4.4

计算一元二次方程的根v2.0(3分)

题目内容:

根据下面给出的求根公式,计算并输出一元二次方程

的两个实根,要求精确到小数点后4位。

其中a,b,c的值由用户从键盘输入。

如果用户输入的系数不满足求实根的要求,输出错误提示?

"error!

"。

程序运行结果示例1:

Pleaseenterthecoefficientsa,b,c:

1,2,1↙

x1=-1.0000,x2=-1.0000

程序运行结果示例2:

Pleaseenterthecoefficientsa,b,c:

2,6,1↙

x1=-0.1771,x2=-2.8229

程序运行结果示例3:

Pleaseenterthecoefficientsa,b,c:

2,1,6↙

error!

输入格式:

"%f,%f,%f"

输出格式:

输入提示信息:

"Pleaseenterthecoefficientsa,b,c:

\n"

输出格式:

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

输入错误提示信息:

"error!

\n"

输入样例:

输出样例:

#include

#include

intmain()

{

floata,b,c,x1,x2,m;

printf("Pleaseenterthecoefficientsa,b,c:

\n");

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

m=b*b-4*a*c;

if(m<0){

printf("error!

\n");

}

else{

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

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

printf("x1=%7.4f,x2=%7.4f\n",x1,x2);

}

return0;

}

第五章

5.1

6位密码输入检测(3分)

题目内容:

从键盘输入6位仅由数字0~9组成的密码。

用户每输入一个密码并按回车键后,程序给出判断:

如果是数字,则原样输出该数字,并提示用户目前已经输入了几位密码,同时继续输入下一位密码;否则,程序提示"error",并让用户继续输入下一位密码。

直到用户输入的密码全部是数字为止。

以下为程序的运行结果示例:

Inputyourpassword:

1↙

1,youhaveenter1-bitsnumber

6↙

6,youhaveenter2-bitsnumber

a↙

error

d↙

error

4↙

4,youhaveenter3-bitsnumber

6↙

6,youhaveenter4-bitsnumber

8↙

8,youhaveenter5-bitsnumber

2↙

2,youhaveenter6-bitsnumber

输入格式:

数字字符输入格式:

"%c"

输出格式:

输入提示信息:

"Inputyourpassword:

\n"

如果输入的是数字,输出格式为:

"%c,youhaveenter%d-bitsnumber\n"

如果输入的不是数字,输出提示信息:

"error\n"

输入样例:

输出样例:

#include

intmain()

{

chara;

inti=0;

printf("Inputyourpassword:

\n");

while(i<6)

{

scanf("%c",&a);

if(a>=48&&a<=57)

{

printf("%c,youhaveenter%d-bitsnumber\n",a,++i);

}

else

printf("error\n");

getchar();

}

return0;

}

5.2

判断一个整型数据有几位v1.0(4分)

题目内容:

从键盘输入一个整型数据(int型),编写程序判断该整数共有几位。

例如,从键盘输入整数16644,该整数共有5位。

程序运行结果示例1:

Pleaseenterthenumber:

21125↙

21125:

5bits

程序运行结果示例2:

Pleaseenterthenumber:

-12234↙

-12234:

5bits

输入格式:

"%d"

输出格式:

输入提示信息:

"Pleaseenterthenumber:

\n"

判断该整数共有几位:

?

"%d:

%dbits\n"

输入样例:

输出样例:

#include

intmain(){

intx,y,n;

printf("Pleaseenterthenumber:

\n");

scanf("%d",&x);

n=x;

for(y=1;x/=10;y++);

printf("%d:

%dbits\n",n,y);

return0;

}

5.3

检测输入数据中奇数和偶数的个数(4分)

题目内容:

从键盘输入一系列正整数,输入-1表示输入结束(-1本身不是输入的数据)。

编写程序判断输入数据中奇数和偶数的个数。

如果用户输入的第一个数据就是-1,则程序输出"over!

"。

否则。

用户每输入一个数据,输出该数据是奇数还是偶数,直到用户输入-1为止,分别统计用户输入数据中奇数和偶数的个数。

程序运行结果示例1:

Pleaseenterthenumber:

1↙

1:

odd

5↙

5:

odd

8↙

8:

even

9↙

9:

odd

12↙

12:

even

17↙

17:

odd

-1↙

Thetotalnumberofoddis4

Thetotalnumberofevenis2

程序运行结果示例2:

Pleaseenterthenumber:

-1↙

over!

Thetotalnumberofoddis0

Thetotalnumberofevenis0

输入格式:

"%d"

输出格式:

输入提示信息:

"Pleaseenterthenumber:

\n"

用户输入的第一个数据就是-1,输出格式:

"over!

\n"

奇数的输出格式:

"%d:

odd\n"

偶数的输出格式:

"%d:

even\n"

输入数据中奇数的个数统计:

"Thetotalnumberofoddis%d\n"

输入数据中偶数的个数统计:

"Thetotalnumberofevenis%d\n"

输入样例:

输出样例:

#include

intmain(){

ints,odd=0,even=0;

printf("

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

当前位置:首页 > 小学教育 > 语文

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

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