c语言答案Word文档格式.docx
- 文档编号:20834838
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:51
- 大小:31.99KB
c语言答案Word文档格式.docx
《c语言答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《c语言答案Word文档格式.docx(51页珍藏版)》请在冰豆网上搜索。
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);
}
输入一个整数,判断它能否被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;
键盘上输入一个不多于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);
实验七
1.编写程序,从键盘输入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);
4.用循环语句编写程序,其功能是计算:
s=1+12+123+1234+12345+123456+1234567
{longi,t=0,s=0;
=7;
{t=10*t+i;
/*printf("
t=%ld\n"
*/
s=s+t;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 答案