c语言程序答案上机Word下载.docx

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

c语言程序答案上机Word下载.docx

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

c语言程序答案上机Word下载.docx

)。

#definePI3.1415926

{floatr,s,v;

printf(“r=”);

scanf(“%f”,&

r);

s=4*PI*r*r;

v=4/3.0*PI*r*r*r;

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

3、编写一个程序,要求通过键盘给6个变量赋值,然后将变量的值在屏幕上打印输出。

这六个变量的值分别为:

10,-10,40000,a,3.14,hello。

{inta,b;

longc;

chard,ch[6];

floate;

scanf(“%d%d%ld%c%f%s”,&

b,&

c,&

d,&

e,ch);

printf(“%d,%d,%ld,%c,%f,%s\n”,a,b,c,d,e,ch);

实验四

1. 

编程实现:

键盘输入三个整数,分别存放到变量a,b,c中,输出其中的最小值(要求不改变a、b、c的值)。

{inta,b,c,min;

printf("

请输入三个整数a,b,c="

);

scanf("

%d,%d,%d"

&

c);

min=a>

b?

(b>

c?

c:

b):

(a>

min=%d\n"

min);

2. 

键盘输入一个字符,如是大写字母,则输出相应小写字母;

如是小写字母,则输出相应大写字母;

其它字符原样输出。

{charc;

请输入一个字符:

"

%c"

if(c>

='

a'

&

c<

z'

)c=c-32;

elseif(c>

A'

Z'

)c=c+32;

%c\n"

c);

3、计算以下分段函数值

{doublex,y;

请输入一个实数:

%lf"

x);

if(x<

0&

x!

=-3)y=x*x+x-6;

elseif(x>

=0&

x<

10&

=2&

=3)y=x*x-5*x+6;

elsey=x*x-x-1;

x=%f,f(x)=%f\n"

x,y);

4. 

编写程序,键盘接收一个字符串(只含大、小写英文字母),将该字符串加密后输出。

加密规则为:

若为小写字母则不变,若为大写字母则将其转换为小写后再后移一个字母,例如“A”应转换为“b”,“B”应转换为“c”,“Y”应转换为“z”,而“Z”应转换为“a”。

{charc[20];

inti;

请输入一个字符串(只含英文字母):

gets(c);

for(i=0;

c[i]!

=’\0’;

i++)

if(c[i]>

=‘A’&

c[i]<

=‘Y’)c[i]=c[i]+33;

elseif(c[i]==’Z’)c[i]=‘a’;

puts(c);

putchar(‘\n’);

5. 

编写程序,用scanf输入任意两个数给变量a、b,若a大于等于b,则直接输出a、b,否则将a、b的值交换(即a的原值放入b中,b的原值放入a中)后再输出。

{floata,b,t;

请输入两个数:

%f,%f"

if(a<

b){t=a;

a=b;

b=t;

printf("

a=%f,b=%f"

a,b);

6. 

编写程序:

由系统生成一个10以内的随机整数,用户从键盘上输入一个10以内的整数,如果两者相等输出“OK”,否则输出“ERROR”。

stdlib.h>

time.h>

srand((unsigned)time(NULL));

b=rand()%10+1;

请输入一个10以内的整数:

scanf("

%d"

a=%d,随机数b=%d\n"

if(a==b)printf("

OK!

\n"

elseprintf("

ERROR!

7. 

编写程序要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。

(此题为选做)

{inta,b,t;

请输入两个整数a,b="

%d,%d"

t=a*a+b*b;

if(t<

=100)

a+b=%d"

a+b);

else

{t=t/100;

a*a+b*b百位以上的数字是%d\n"

t);

实验五

1.编程,计算函数y的值,已知函数y与自变量x的关系为:

{floatx,y;

printf(“请输入一个非负数x=”);

if(x>

100)y=3*x+10;

=100)y=x*x*x-20;

=0)printf(“y=%f\n”,y);

elseprintf(“输入错误!

\n”);

2.编写一个简单的计算器程序,输入格式为:

data1opdata2。

其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。

{charop;

floatd1,d2;

请输入算式(如3+5):

%f%c%f"

d1,&

op,&

d2);

switch(op)

{case'

+'

:

printf("

%g+%g=%g\n"

d1,d2,d1+d2);

break;

case'

-'

%g-%g=%g\n"

d1,d2,d1-d2);

*'

%g×

%g=%g\n"

d1,d2,d1*d2);

/'

%g÷

d1,d2,d1/d2);

}

2.编程实现:

输入一个整数,判断它能否被3,5,7整除,并输出以下信息之一:

①能同时被3,5,7整除

②能被其中两数(要指出是哪两个数)整除

③能被其中一个数(要指出是哪一个数)整除

④不能被3,5,7任一个数整除

{intn;

请输入一个整数n="

n);

if(n%3==0&

n%5==0&

n%7==0)

%d能被3,5,7整除\n"

n);

elseif(n%3==0&

n%5==0)printf("

%d能被3,5整除\n"

n%7==0)printf("

%d能被3,7整除\n"

elseif(n%5==0&

%d能被5,7整除\n"

elseif(n%3==0)printf("

%d能被3整除\n"

elseif(n%5==0)printf("

%d能被5整除\n"

elseif(n%7==0)printf("

%d能被7整除\n"

%d不能被3,5,7任一个整除\n"

4.已知从2008年12月开始,银行整存整取存款不同期限的年利率分别为:

三个月1.71%,半年1.98%,一年2.25%,两年2.79%,三年3.33%,五年3.60%。

编写程序,要求输入存钱的本金和期限,求出到期时能从银行得到的利息与本金的合计数。

floatx,y;

请输入存款本金x="

%f"

do

{getchar();

/*接受回车符*/

clrscr();

/*清屏*/

\n存款期限:

a------三个月(年利率1.71%%)\n"

b------半年(年利率1.98%%)\n"

c------一年(年利率2.52%%)\n"

d------两年(年利率2.79%%)\n"

e------三年(年利率3.33%%)\n"

f------五年(年利率3.60%%)\n"

请输入存款期限(a,b,c,d,e,f):

while(!

(c>

f'

));

%g元存期"

x);

x=x/100;

switch(c)

y=x*(100+1.71/4);

三个月"

b'

y=x*(100+1.98/2);

半年"

c'

y=x*(100+2.25);

一年"

d'

y=x*(100+2.79*2);

两年"

break;

e'

y=x*(100+3.33*3);

三年"

y=x*(100+3.6*5);

五年"

到期的本息合计为%f元\n"

y);

5.设函数 

(1)用条件表达式求函数值y。

(2)用if语句编程,输入x,输出y,并给出你所使用的测试用例。

(1)用条件表达式求函数值y。

{floatx;

inty;

请输入x="

y=(x>

=0)?

(x>

0?

1:

0):

-1;

y=%d\n"

(2)用if语句编程,输入x,输出y。

=0)

if(x>

0)y=1;

elsey=0;

elsey=-1;

6.编写程序:

键盘上输入一个不多于5位的正整数,要求:

①求它是几位数②逆序打印出各位数字。

如原数为123,应输出321。

math.h>

{longn,m,p,w1=0,w2=0,w3=0,w4=0,w5=0,t=0;

请输入一个非负整数(n<

100000)n="

%ld"

if((n/10000)!

=0)m=5;

elseif(n/1000!

=0)m=4;

elseif(n/100!

=0)m=3;

elseif(n/10!

=0)m=2;

elsem=1;

switch(m)

{case5:

p=n/10000;

w1=p;

n-=p*10000;

t+=w1*pow(10,m-5);

case4:

p=n/1000;

w2=p;

n-=p*1000;

t+=w2*pow(10,m-4);

case3:

p=n/100;

w3=p;

n-=p*100;

t+=w3*pow(10,m-3);

case2:

p=n/10;

w4=p;

n-=p*10;

t+=w4*pow(10,m-2);

case1:

p=n;

w5=p;

t+=w5*pow(10,m-1);

输入的是%ld位数,逆序数为%ld\n"

m,t);

实验六

1、编程:

输出200以内所有能被7整除的数。

{inti;

i<

=200;

i+=7)

printf(“%4d”,i);

2、从键盘输入n个数(n<

10),找出其中最小值,请编写相应程序。

{intn,i,a,min;

printf(“n=”);

for(i=1;

=n;

{scanf(“%d”,&

if(i==1)min=a;

if(min>

a)min=a;

printf(“min=%d”,min);

3、键盘输入正整数m和n(m<

n),计算m~n之间所有奇数之和x与偶数之和y,请编程实现。

{intm,n,i,x1=0,x2=0;

printf(“inputm,n(m<

n):

”);

m,&

for(i=m;

if(i%2==1)x1+=i;

elsex2+=i;

printf(“x1(奇数之和)=%d,x2(偶数之和)=%d\n”,x1,x2);

4.编程,计算函数y的值。

要求键盘接收自变量x的值,若x的值不为零,则计算函数y的值并输出,再从键盘接收下一个x的值,……,直到x的值为零,则显示“ThankYou,Bye!

”,尔后结束程序,已知函数y与自变量x的关系为:

 

 

{floatx=1,y;

{if(x<

0)printf("

输入错误(x<

0)!

请重新输入\n"

0)printf("

y(%g)=%g\n"

while(x!

=0);

ThankYou,Bye!

5.编写程序:

有一分数序列:

2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

floatf1=1,f2=2,f,s=0;

=20;

{f=f2/f1;

s+=f;

f=f1;

f1=f2;

f2=f+f2;

s(20)=%g\n"

s);

6.我国现有人口13亿,设年增长率为1%,编写程序,计算多少年后增加到20亿。

{floatp=13;

intn=0;

do

{p=p*1.01;

n++;

while(p<

20.);

%d年后人口增加到20亿!

7.求解爱因斯坦数学题。

有一条长阶梯,若每步跨2阶,则最后剩余1阶;

若每步跨3阶,则最后剩2阶;

若每步跨5阶,则最后剩4阶;

若每步跨6阶,则最后剩5阶;

若每步跨7阶,最后才正好一阶不剩。

请问,这条阶梯共有多少阶?

{intn=7;

{if(n%2!

=1){n++;

continue;

if(n%3!

=2){n++;

if(n%5!

=4){n++;

if(n%6!

=5){n++;

if(n%7!

=0){n++;

while

(1);

这条阶梯共有%d阶!

(说明:

该题应有多解:

119,329,……)

8.每个苹果0.8元,第一天买2个苹果,第二天开始,每天买前一天的2倍,直至购买的苹果个数达到不超过100的最大值。

编写程序求每天平均花多少钱?

{floats=0;

intn=1,p=0,d=0;

{d++;

/*第d天*/

n=n*2;

/*买n个苹果*/

p=p+n;

/*共p个苹果*/

while(p+n*2<

=100);

s=p*0.8/d;

每天平均花%g元钱!

9.编写程序,求一个整数任意次方的最后三位数。

即求xy的最后三位数,要求x,y从键盘输入。

(注意xy的结果是否会溢出)。

{doublex,y,m;

intm3;

请输入x,y="

%lf,%lf"

y);

m=pow(x,y);

m3=(int)m%1000;

x的y次方为%g,其最后三位数是%0.3d\n"

m,m3);

实验七

编写程序,从键盘输入6名学生的5门成绩,分别统计出每个学生的平均成绩。

{inta,b,s;

floatv;

for(a=1;

a<

=6;

a++)

{v=0;

for(b=1;

b<

=5;

b++)

{printf("

请输入第%d名学生的第%d门成绩:

scanf("

s);

v=v+s;

第%d名学生的平均成绩为:

%g\n"

a,v/5.);

2、打印出所有的"

水仙花数"

,所谓的"

是指一个3位数,其各位数字的立方和等于该数本身。

例如,153是一个"

,因为有153=1*1*1+5*5*5+3*3*3。

(1)

{inta,b,c,n;

=9;

for(b=0;

for(c=0;

c++)

{n=100*a+10*b+c;

if(n==a*a*a+b*b*b+c*c*c)

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

(2)

for(n=100;

n<

=999;

n++)

{a=n/100;

b=n%100/10;

c=n%10;

3、请分别用三种循环结构编程计算:

1!

+2!

+3!

+...+n!

,n的值由键盘输入。

{intn,i;

longp=1,sum=0;

{p*=i;

sum+=p;

printf(“1!

+…+%d!

=%ld\n”,n,sum);

{intn,i=1;

while(i<

=n)

i++;

解(3)

=n);

用循环语句编写程序,其功能是计算:

s=1+12+123+1234+12345+123456+1234567

{longi,t=0,s=0;

for(i=1

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

当前位置:首页 > 自然科学 > 物理

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

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