c语言习题答案Word文件下载.docx

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

c语言习题答案Word文件下载.docx

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

c语言习题答案Word文件下载.docx

floatb=123.456;

floatx=35.567,y;

a=%5d\n"

a);

a=%-5d\n"

b=%6.2f\n"

b);

b=%e\n"

y=(int)(x*100+0.5)/100.0;

x=f,y=%f\n"

x,y);

a=168

b=123.46b=1.234560e+002

x=f,y=35.567001

C程序代码

inta=168;

十进制数%d对应的八进制数是%o\n"

a,a);

十进制数%d对应的十六进制数是%x\n"

十进制数168对应的八进制数是250

十进制数168对应的十六进制数是a8

实验二

2.1顺序结构

2.1.1已知a=1.5,b=5.3,c=2.9,计算s=

-4ac的结果并输出。

floata,b,c,s;

a=1.5;

b=5.3;

c=2.9;

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

s的值是%f\n"

s);

2.1.2输入某学生的三个科目的期末考试成绩,计算出该学生的成绩总分和平均分。

#include<

intmath,english,c_program;

floatsum,average;

inputmath,english,c_program:

scanf("

math,&

english,&

c_program);

sum=math+english+c_program;

average=sum/3;

sum=%.0f,average=%.5f"

sum,average);

2.1.3输入圆的半径,计算圆的面积,设圆周率为3.1416.

intmain()

floatr,s;

请输入半径:

%f"

r);

s=3.1416*r*r;

圆的面积为%.6f"

2.1.4输入一个两位数,将其个位数和十位数互换后变成一个新的数,输出这个数。

intmain(void)

intn,a,b;

inputn:

scanf("

%d"

n);

b=n%10;

a=n/10;

n=b*10+a;

n);

return0;

2.1.5输入两个数a和b,将两数的值互换后输出新值。

voidmain()

{

intx,y,t;

%d%d"

x,&

y);

t=x;

x=y;

y=t;

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

}

2.2简单分支结构

2.2.1输入两个整数,求出其中的较小值输出。

#include<

inta,b,min;

请输入a,b:

\n"

%d,%d"

b);

if(a<

b)

min=a;

else

min=b;

最小值是%d\n"

min);

2.2.2输入x的值并计算分段函数y的值。

+2xx<

2

Y=f(x)=

2x-1x>

=2

doublex,y;

%lf"

x);

if(x<

2)

y=x*x+2*x;

else

y=2*x-1;

%.6f"

return0;

2.2.3输入两个整数并判断两数是否相等,输出相应结论。

inta,b;

请输入两个整数:

if(a==b)

a等于b"

else

a不等于b"

return0;

2.2.4输入一个整数,若为负数,求出它的平方;

若为正数,求出它的立方,并输出结果。

请输入一个整数:

doublex,y;

if(x<

0)

y=x*x;

else

y=x*x*x;

y=f(%f)=%f\n"

2.2.5输入三个整数,用if-else结构求出其中的最大值。

提示:

首先求出两个数的较大值放在一个变量里,然后用这个变量和第三个数再进行一次比较。

inta,b,c,max;

请输入三个数"

if(a>

max=a;

max=b;

if(c>

max)

max=c;

最大值为%d\n"

max);

2.3简单循环结构

2.3.1计算1+4+7+…+301。

#include<

{

inti,sum;

sum=0;

for(i=1;

i<

=301;

i=i+3)

sum=sum+i;

sum=%d\n"

2.3.2循环输入某学生八个科目期末考试成绩,计算出该学生成绩总分和平均分。

inti,a;

floatsum,average;

sum=0;

for(i=1;

=8;

i++)

scanf("

a);

sum=sum+a;

成绩总分为%f\n"

平均分为%f\n"

sum/8);

2.3.3输入n的值,计算n!

intn,i,a;

a=1;

请输入n的值:

=n;

a=a*i;

积=%d\n"

return0;

2.3.4显示1~10平方,输出结果如下图所示:

1*1=1

2*2=4

3*3=9

4*4=16

5*5=25

6*6=36

7*7=49

8*8=64

9*9=81

10*10=100

inti,a;

for(i=1;

=10;

a=i*i;

%d*%d=%d\n"

i,i,i*i);

2.3.5计算1-3/4+5/7-7/10+…的前n项之和。

inti,n;

floatitem,flag,sum;

sum=0;

flag=1;

i++)

item=flag*(2*i-1)/(3*i-2);

sum=sum+item;

flag=-flag;

}

%f\n"

实验三

3.1.1

输入一个整数x,判定是否为5的倍数。

intx;

x="

if(x%5==0)

能整除5"

不能整除5"

3.1.2

输入x,计算并输入下列分段函数对应的值。

-5x<

Y=

0<

=x<

=1

x/2x>

1

floatx,y;

y=-5;

elseif(x>

1)

y=x/2;

y=x*x+2;

对应值为%.2f\n"

return0;

3.1.3

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

购物金额<

300元不打折

300<

=购物金额<

500元9折

500元<

=购物金额7折

要求输入一个购物金额(x),输出打折率(rate)以及购物实际付款金额(x*rate)

intx,y;

300)

{

y=x;

不打折,付款%d\n"

}

=300&

&

x<

500)

y=0.9*x;

打9折,付款%d\n"

y=0.7*x;

打7折,付款%d\n"

3.1.4

求解一元二次方程

+b

的实数解。

math.h>

inta,b,c,d,x1,x2;

a=,b=,c="

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

if(d>

doublesqrt(doubled);

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

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

x1=%d\n,x2=%d\n"

x1,x2);

elseif(d=0)

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

x1=x2=%d\n"

x1);

没有实数解"

3.1.5

从键盘输入10个字符,将所有的英文字母转换为大写后输出。

chari,ch;

请输入"

ch=getchar();

if(ch>

='

ch<

z'

ch=ch-32;

putchar(ch);

3.1.6

从键盘输入10个字符,统计其中英文字母、空格、数字字符和其他字符的个数。

charch,i;

intletter,space,digiter,other;

letter=space=digiter=other=0;

ch=getchar();

if((ch>

)||(ch>

A'

))

letter++;

elseif(ch=='

'

||ch=='

\n'

space++;

elseif(ch>

0'

9'

digiter++;

other++;

letter=%d,space=%d,digiter=%d,other=%d\n"

letter,space,digiter,other);

3.2.1

输入一个四位整数的年份,判断是否为闰年。

intx,a,b,c;

输入年份:

a=x%4;

b=x%100;

c=x%400;

if((a==0&

b!

=0)||(c==0))

闰年"

不是闰年"

3.2.2

假设自动售货机出售4种商品,薯片、爆米花、巧克力和可乐,售价分别是每份3.0元、2.5元、4.0元和3.5元。

在屏幕上显示以下菜单,用户可以连续查询商品的价格,当查询次数超过五次时,退出查询;

不到五次时,用户可以选择退出。

当用户输入编号1~4,显示对应商品的价格;

输入0,退出查询;

输入其他编号,显示价格为0。

charprice;

inti;

请输入商品的名称:

=5;

price=getchar();

getchar();

switch(price)

case'

1'

:

售价3.0元\n"

break;

2'

售价2.5元\n"

3'

售价4.0元\n"

4'

售价3.5元\n"

退出查询\n"

default:

价格为0元\n"

3.2.3

编写一个程序输入某人的身高(cm)和体重(kg),按下式确定其体重是否为标准、过胖或过瘦。

判断标准为:

✍标准体重=身高-110;

✍超过标准体重5kg为过胖;

✍低于标准体重5kg为过瘦。

intx,y,z;

请输入身高和体重:

z=x-110;

if(y-z>

5)

过胖"

elseif(y-z<

-5)

过瘦"

标准"

3.2.4

编写一个程序,计算购买某物品的总金额,该物品的单价为5元/公斤,购买5公斤以上打九折,购买10公斤以上打八折,购买20公斤以上打7折,购买50公斤以上打6折,购买100公斤以上打5折。

(用多分支if语句求解)

购买量\n"

if(x>

=5&

x<

10)

y=0.9*5*x;

=10&

20)

y=0.8*5*x;

=20&

50)

y=0.7*5*x;

=50&

100)

y=0.6*5*x;

y=0.5*5*x;

y=5*x;

付款%.2f\n"

3.2.5

编写一个程序,输出给定的某年某月的天数。

intyear,month,days,leap;

年,月:

year,&

month);

switch(month)

case1:

case3:

case5:

case7:

case8:

case10:

case12:

days=31;

break;

case4:

case6:

case9:

case11:

days=30;

case2:

if(year%4==0&

year%100!

=0||year%400==0)

leap=1;

else

leap=0;

if(leap)

days=29;

days=28;

%d年%d月的天数为%d天\n"

year,month,days);

实验四

4.1.1

输入一批正整数(以零或负数为结束标志)求其中的奇数和。

intdata,sum;

输入一批正整数(以零或负数为结束标志):

"

data);

while(data>

if(data%2==1)

sum=sum+data;

奇数和是%d.\n"

4.1.2

输入两个整数a和n,求a+aa+aaa+……(n个a)之和。

例如输入2和3,输出246(2+22+222)

可采用递推的方法计算当前项item=item*10+a

inta,n,item,i,sum;

i=1;

item=0;

请输入两个整数a和n:

while(i<

=n)

item=item*10+a;

sum=sum+item;

i=i++;

结果为%d\n"

4.1.3

编写程序:

计算2/1+3/2+5/3+8/5……的近似值。

要求计算前n项之和,保留2位小数(该序列从第二项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子)

floatn,i,sum,a,b,item;

请输入n的值:

a=2;

b=1;

sum=sum+a/b;

item=a;

a=a+b;

b=item;

i=i++;

结果为%.2f\n"

4.1.4

编写一个程序,找出被2,3,5整除时余数均为1的最小的10个自然数。

intx,i;

i=0;

x=1;

if(x%2==1&

x%3==1&

x%5==1)

x);

i++;

x++;

4.1.5

输入一个正整数,求它的位数以及各位数字之和,例如123的位数是3,各位数字之和是6.

intnumber,digit,i,sum;

i=0;

输入一个正整数:

number);

while(number!

=0)

digit=number%10;

number=number/10;

sum=sum+digit;

i=i++;

digit);

该整数的位数是%d\n,各位数字之和是%d\n"

i,sum);

4.1.6

猴子吃桃问题。

猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,就又吃了一个。

第二天又将剩下的桃子吃掉一半,又多吃了一个。

以后每天都吃前一天剩下的一半零一个。

到第10天在想吃的时候就剩一个桃子了,求第一天共摘下来

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

当前位置:首页 > 人文社科 > 视频讲堂

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

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