c语言习题答案.docx

上传人:b****5 文档编号:30369563 上传时间:2023-08-13 格式:DOCX 页数:47 大小:44.77KB
下载 相关 举报
c语言习题答案.docx_第1页
第1页 / 共47页
c语言习题答案.docx_第2页
第2页 / 共47页
c语言习题答案.docx_第3页
第3页 / 共47页
c语言习题答案.docx_第4页
第4页 / 共47页
c语言习题答案.docx_第5页
第5页 / 共47页
点击查看更多>>
下载资源
资源描述

c语言习题答案.docx

《c语言习题答案.docx》由会员分享,可在线阅读,更多相关《c语言习题答案.docx(47页珍藏版)》请在冰豆网上搜索。

c语言习题答案.docx

c语言习题答案

(1)编程求37+29的值,实习VC环境。

#inelude〈Stdi0h〉voidmain()

{

0inta,b,sum;

a=37;

ob二29;

sum=a+b;

printf(”sum=%d”,sum);

}

(2)从键盘输入三个整数,求出最大数并输出。

#inc1ude

voidmain()

{

inta,b,c,y;

intmax(intx,inty):

printf(inputa,b,andc:

”);

Scanf(”%d,%d,%d",&a,&b,&c);

y=max(a,b);

y=max(y,c);

printf(”\nmax=%d\n",y);

}

intmax(intx,inty)

{

intz;

if(x〉y)z二x;

e1sez二y;

return(z);

}

(3)通过上机实践,运行下列程序并分析输出结果、

A程序代码

#inc1ude

voidmain()

{

charch=,a';

printf(M%c对应的ASCII码是:

%d\n",ch,ch);}

程序输出结果:

a对应的ASC|丨码是:

97

B程序代码

#includeh>

voidmain()

6inta=168;

®floatb二123、456;

6f10atx=35、567,y;

printf(”a=%5d\n”,a);

6printf("a=%—5d\n”,a);

oprintf("b=%6、2f\n〃,b);

oprintf(〃b=%e\n〃,b);

oy=(int)(x*l00+0、5)/100、0;

0printf("x=f,y=%『\n",x,y);

}

程序输出结果:

a=168

a=168

2123、46b=l>234560e+002

x=f,y=35.567001

C程序代码

#include

v0idmain()

{

6inta=l68;

printfC十进制数%d对应的八进制数是%o\n”,a,a);oprintf(”十进制数%d对应的十六进制数是%x\n”,a,a);

}

程序输出结果:

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

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

实验二

2、1、1己知a二1、5,b二5、3,c二2、9,计算s二以-4ac的结果并输出、

#inc1ude

voidmain()

{

汪1oata,b,c,s;

a二1、5;

ab=5、3;

%二2、9;

3s二b*b-4*a*c;oprintf(”s的值是%f\n",s);

}

2、1、2输入某学生的三个科目的期末考试成绩,计算出该学生的成绩总分与

平均分。

#includeh)

voidmain()

{

intmath,english,c_program;

floatsum,average;

printf("inputmath,eng1ish,c_pr0gram:

,z);scanf(”%d,%d,%d”,&math,&english,&c_program);

sum二math+english+c_program;

average=sum/3;

printf(〃sum=%、Of,average=%、5f”,sum,average);

}

2、1、3输入圆的半径,计算圆的面积,设圆周率为3、1416、

#inc1ude

intmain()

{

0floatr,s:

oprintf(”请输入半径:

”);

sean『(”%f”,&r);

s=3、1416*r*r;

0Printf(”圆的面积为%、6f",s);

}

2、1、4输入一个两位数,将其个位数与十位数互换后变成一个新的数,输出这个数、

#include〈stdi0、h>

intmain(void)

{

intn,a,b;

printf("inputn:

");

scanf(”%d〃,&n);

b=n%10;

a=n/10;

n二b*I0+a;

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

return0;

}

2、1、5输入两个数a与b,将两数的值互换后输出新值。

#inc1ude〈Stdi0>h〉

voidmain()

ointx,y,t;

Qscanf(”%d%d”,&x,&y);

ot二X;

坎二y;

y=t;

6printf(”x=%d,y二%d\n",x,y);

2、2简单分支结构

2、2、1输入两个整数,求出其中的较小值输出、

nclude〈stdio、h)

intmain()

{

0inta,b,min;

6printf("请输入a,b:

\n");

6scanf("%d,%d”,&a,&b);

if(a

eIse

min=b;

printf(w最小值是%d\n",min);return0;

}

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

\以+2xx<2

Y二f(x)Q

2x—1x)=2

^include

intmain(void)

{

0doublex,y;

6Scanf(〃%lf",&x);

oif(x<2)

ay二x*x+2*x;

0eIse

呵=2*x-l;

oprintf(”%、6f〃,y);

°return0;

}

2、2、3输入两个整数并判断两数是否相等,输出相应结论、

#includeh〉

intmain()

inta,b;

«printf(”请输入两个整数:

\n〃);

scanf(”%d,%d”,&a,&b);

oif(a==b)

oprintf(”a等于b”);

6elSe

oprintf("a不等于b”);

return0;

}

2.2.4输入一个整数,若为负数,求出它的平方;若为正数,求出它的立方,并输出结果。

ttinclude

voidmain()

{

printf("请输入一个整数:

”);

doublex,y;

scan『(”%lf",&x);

if(x<0)

oy二x*x;

else

oy二x*x*x;

printf(”y=f(%f)=%f\n〃,x,y);

}

2.2.5输入三个整数,用if-e1se结构求出其中的最大值、提示:

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

#include〈stdio、h>

intmain()

{

0inta,b,c,max;

6printf(”请输入三个数");

6sCanf("%d,%d,%d",&a,&b,&c);

6if(a>b)

3max=a;

oelse

0max=b;

oif(c>max)

amax=c;

0else

0max=a;

6Printf("最大值为%d\n",max);

0return0;

}

2、3简单循环结构

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

#include〈stdio、h〉

voidmain()

{

inti,sum;

%um二0;

吐or(i=1;i<=301;i=i+3)

°sum=sum+i;

Rrintf("sum=%d\n”,sum);

}

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

#include

intmain(void)

{

0inti,a;

0f1oatSum,average;

0sum=0;

0for(i=l;i<=8;i++)

6{

ascanf("%d”,&a);

asum=Sum+a;

}

Printf(”成绩总分为%f\n”,sum);

6printf(n平均分为%f\n",sum/8);

6return0;

}

2.3.3输入n的值,计算n!

tiinc1ude

intmain(void)

{

6intn,i,a;

0a=l;

6printf("请输入n的值:

%d\n”);

scanf(”%d",&n);

for(i=l;i<=n;i++)

6a=a*i;

6printf(”积=%d\n",a);

oreturn0;

}

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

#include

intmain(void)

{

inti,a;

fOr(i=l;i〈二10;i++)

{

a=i*i;

printf(”%d*%d=%d\n”,i,i,i*i);}

return0;

}

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

#inelude

voidmain()

{

inti,n;

f10atitem,f1ag,sum;

sum=0;

f1ag=l;

printf("inputn:

”);

seanf("%d”,&n);

for(i=l;i<=n;i++)

{

o«item=f1ag*(2*i-l)/(3*i-2);

osum二sum+item;f1ag=—flag;

}

Brintf("%f\n",sum);

}

实验三

3、K1

输入一个整数X,判定是否为5的倍数、

#iiiclude

iiitmain(void)

UDtX;

sprintf(”x=”);

scanff%T,&x);

4f(x%5==0)

printf(”能整除5”);

eIse

priiitf("不能整除5”);

^>return0;

}

3、1、2

输入池计算并输入下列分段函数对应的值、

rsx

Y=x?

+20<=x<=l

J

x/2x>1

#iiiclude

intniaiii(void)

{

floatx,y;

pnntf(”x=M);

scanff%f\&x);

if(x<0)

y=—5;

代Iseif(x〉1)

y=x/2;

eIse

y=x*x+2;

prmtf(”对应值为%、2f\iT,y);

return0;

}

3、1>3

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

购物金额〈300元不打折

300<=购物金额<500元9折

500元〈=购物金额7折

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

#incIudeh>

intmaiii(void)

{

°intx,y;

printK”x=”);

scanf(H%d”,&x);

4f(x<300)

-y=x;

°prmtf(”不打折,付款%d\n”,y);訂

e1seif(x>=300&&x<500)

呼=0、9*x;

printf(”打9折,付款%d\n”,y);訂

gy=O、7*x;

°printf(”打7折,付款%d\n",y);

°return0;

}

3、1、4

求解一元二次方程"护+bX+c=°的实数解、

#include

#inc1ude

iiitmain(void)

{

ointa,b,c,d,xl,x2;

°printf(Ma=,b=,c=”);scanfC%d,%d,%d役&比&b,&c);d=b*b-4

°if(d>0)

{

doub1esqrt(doubled);oxi=(―+sqrt(d))/(2*a);

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

prmtfCxl=%d\n,x2=%dE,xl,x2);

}

代1seif(d=0)

xl=(—b4-sqrt(d))/(2*a);

printf(Hxl=x2=%d\nJx1);

}

else

pMntf(”没有实数解”);

Heturn0;

}

3.1.5

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

#inelude(stdio.h)

iiitmain(void)

{

chari,ch;

printf("IW输入”);

fbr(i=1;i<=l0;i++)

{

ch=getcharQ;

if(ch>=,a/&&ch〈=N)

ch=ch-32;

oputchar(ch);

}

return0;

}

3、1、6

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

#inelude

illtinain(void)

{

^charch);

intletterspace,digiter,other;

4etter=space=digitei=other=0;

i=l;i〈=10;i++)

ooch=getchar();

^if((ch>=,a,&&cli<=fzf)\I(ch)=A&&chV=N))

oooletter++;

eIseif(ch==,7|ch==S)

gspace++;

Ise1f(ch>=©&&ch<=9)

zdigiter++;

3se

goother++;

printf(nletter=%d,space=%d,dlgiter=%d,other=%d\nJletter,space.digitepother);

return0;

}

3、2>1

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

#include

intmain(void)

Printf(”输入年份:

”);

scanf(H%dn,&x);

沪x%4;

ob=x%100;

c=x%400;

if((a=O&&b!

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

3printf(”闰年");

^else

printf(”不是闰年”);

tuin0;

}

3、2、2

假设自动售货机出售4种商品,薯片、爆米花、巧克力与可乐,售价分不是每份3、0元、2、5元、4、0元与3、5元、在屏幕上显示以下菜单,用户能够连续査询商品的价格,当査询次数超过五次时,退出査询;不到五次时,用户能够选择退出、当用户输入编号1~4,显示对应商品的价格:

输入0,退出査询;输入其她编号,显示价格为0、

#include〈stdio、h>

intmain(void)

{

°charprice;

inti;

oprintf(”请输入商品的名称:

\n”);

or(i=l;i<=5;i++)

price=getchai();getchar();

switch(price)

2{

case'I*:

prmtf售价3、0元\n”);break;

case*2z:

printf(v售价2、5元\11")出reak;

case'31printf(”售价4、0元\n");break;。

case'4':

printf(”售价3、5元\n”);break;

case'O':

printf(”退出查询\n");bieak;

defau1t:

printf(”价格为0元\n”);bieak;

4

}

retuin0;

3、2、3

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

判断标准为:

①标准体重=身高一110@超过标准体重5kg为过胖低于标准体重5kg为过瘦。

#include

intmain(void)

mtx,y,z;

oprintf(”请输入身高与体重:

\n”);

巧canf("%d,%dH,&x,&y);

z=x-110;

4f(y—z)5)

-printff过胖");

e1seif(y-z<—5)

prmtf(”过瘦”);

Qse

°priiitf(”标准”);

return0;

}

3、2、4

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

(用多分支if语句求解)

#inc1ude〈stdio、h>

illtmam(void)

{

floatx,y;

-printf(w购买量\n“);

oscanf(M%f;&x);

if(x>=5&&x<10)

尸0、9*5*x;

e1seif(x>=10&&xV20)

1=0、8*5*x;

eIseif(x>=20&&x<50)

gy=0、7*5*x;

代1seif(x>=50&&x<100)

gy=0、6*5*x;

oeIseif(x>l00)

gy=0、5*5*x;

else

gy=5*x;

printf("付款%、2f\n",y);

吐eturnO;

}

3、2、5

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

#iiiclude

iiitmam(void)4ntyeai;month,daysJeap;

opmHfC年,月:

H);

oscand役&ye賦&month);

^switch(month)

^casel:

case3:

case5:

case7:

case8:

case10:

case12:

zdays=31;

^>break;

case4:

case6:

case9:

case11:

zdays=30;

小reak;

兀ase2:

if(year%4==0&&year%100!

=0IIyear%400=0)。

4eap=1;

eIse

leap=0;

if(1eap)

davs=29;

Jz

e1sedays=28;

}

printf(v%d年%(^月的天数为%d天\nH,year,month.days);

}

实验四

4、1、1

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

#include

#include〈math、h〉

inImaiii(void)

{

intdata,sum;

osum=0;

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

”);

°scanf(”%d:

&data);

owhi1e(data>0)

®f(data%2==1)

sum=sum+da

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1