c语言习题及问题详解爱课程moocWord文档格式.docx

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

c语言习题及问题详解爱课程moocWord文档格式.docx

《c语言习题及问题详解爱课程moocWord文档格式.docx》由会员分享,可在线阅读,更多相关《c语言习题及问题详解爱课程moocWord文档格式.docx(80页珍藏版)》请在冰点文库上搜索。

c语言习题及问题详解爱课程moocWord文档格式.docx

#include<

#definePI3.14159

#defineR5.3

R*R*PI/2);

2*R*PI/2);

1.4

计算长方体体积(3分)

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

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

长方体的体积输出格式:

volume=%.3f\n"

constfloatl=1.2;

constfloatx=4.3;

constfloaty=6.4;

l*x*y);

第三章

3.1

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

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

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

math.h>

以下为程序的输出示例:

pleaseinputxandy:

1.2,3.4↙

result=13.00

%f,%f"

输入提示信息:

result=%.2f\n"

floatx,y;

scanf("

&

x,&

y);

pow(x,2)+pow(y,2));

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"

逆序数输出格式:

y=%d\n"

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

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

平方和的输出格式:

result=%d\n"

intx;

x);

if(x<

=0)

{

x=-x;

}

inta,b,c,d;

a=x/1000;

b=x/100%10;

c=x/10%10;

d=x%10;

d*1000+c*100+b*10+a);

d*10+c,b*10+a);

(b*10+a)*(b*10+a)+(d*10+c)*(d*10+c));

3.3

拆分英文名(3分)

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

如:

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

Tom)。

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

inputyourEnglishname:

tom↙

Tom

t:

20

o:

15

m:

13

%c%c%c"

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

%c%c%c\n"

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

%c:

%d\n"

chara,b,c;

a,&

b,&

c);

a+'

A'

-'

a'

b,c);

a,a-'

+1);

b,b-'

c,c-'

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"

(注意:

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

体重输出格式:

weight=%d\n"

身高输出格式:

height=%.2f\n"

体指数输出格式:

t=%.2f\n"

intx,y;

x*2);

y/100.0);

x/((y/100.0)*(y/100.0)));

第四章

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

程序的运行结果示例2:

-2304↙

-23,-4

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

dev=5.75,mod=-3

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

%d,%d\n"

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

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

除法和求余的输出格式:

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

除数为0的提示信息:

main()

intm,x,y;

&

m);

x=m/100;

y=m%100;

x,y);

x+y,x-y,x*y);

if(y!

=0){

(float)x/y,x%y);

else{

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

0.00

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

%d,%f"

价格的输出格式:

%5.2f\n"

区域错误的提示信息:

ErrorinArea\n"

intarea;

floatweight,price,x1,x2;

area,&

weight);

if(weight<

=1){

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;

case

(2):

price=x1*15+x2*5;

case(3):

price=x1*15+x2*6.5;

case(4):

price=x1*15+x2*10;

price);

else{

0.00\n"

4.3

数据区间判断(5分)

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

0<

n<

10000),编写程序判断n落在哪个区间。

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

error!

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

Pleaseenterthenumber:

2563↙

2563:

1000-9999

156↙

156:

100-999

程序运行结果示例3:

36↙

36:

10-99

程序运行结果示例4:

3↙

3:

0-9

程序运行结果示例5:

10923↙

输出的区间判断:

%d:

1000-9999\n"

100-999\n"

10-99\n"

0-9\n"

输入错误提示信息:

if(x>

=1000&

x<

=9999)printf("

x);

elseif(x>

=0&

=9)printf("

=10&

=99)printf("

=100&

=999)printf("

elseprintf("

4.4

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

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

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

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

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

Pleaseenterthecoefficientsa,b,c:

1,2,1↙

x1=-1.0000,x2=-1.0000

2,6,1↙

x1=-0.1771,x2=-2.8229

2,1,6↙

%f,%f,%f"

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

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

a,&

b,&

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

if(m<

0){

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

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

x1,x2);

第五章

5.1

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

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

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

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

否则,程序提示"

error"

,并让用户继续输入下一位密码。

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

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

Inputyourpassword:

1↙

1,youhaveenter1-bitsnumber

6↙

6,youhaveenter2-bitsnumber

a↙

error

d↙

4↙

4,youhaveenter3-bitsnumber

6,youhaveenter4-bitsnumber

8↙

8,youhaveenter5-bitsnumber

2↙

2,youhaveenter6-bitsnumber

数字字符输入格式:

%c"

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

%c,youhaveenter%d-bitsnumber\n"

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

error\n"

chara;

inti=0;

while(i<

6)

a);

if(a>

=48&

a<

=57)

a,++i);

else

getchar();

5.2

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

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

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

21125↙

21125:

5bits

-12234↙

-12234:

判断该整数共有几位:

%dbits\n"

intmain(){

intx,y,n;

n=x;

for(y=1;

x/=10;

y++);

n,y);

5.3

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

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

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

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

over!

否则。

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

1:

odd

5↙

5:

8:

even

9↙

9:

12↙

12:

17↙

17:

-1↙

Thetotalnumberofoddis4

Thetotalnumberofevenis2

Thetotalnumberofoddis0

Thetotalnumberofevenis0

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

奇数的输出格式:

odd\n"

偶数的输出格式:

even\n"

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

Thetotalnumberofoddis%d\n"

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

Thetotalnumberofeveni

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

当前位置:首页 > 总结汇报 > 学习总结

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

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