c语言实验答案桂林航天工业高等学校Word格式文档下载.docx
《c语言实验答案桂林航天工业高等学校Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c语言实验答案桂林航天工业高等学校Word格式文档下载.docx(34页珍藏版)》请在冰豆网上搜索。
pi:
3.14
radius:
5.0
area:
31.400002
area=pi*radius*radius;
2.略
for(i=0,j=10;
i<
=10;
i++,j++)
printf("
i=%d"
i);
printf("
j=%d\n"
j);
改为:
{
printf("
}
4.略
实验三答案:
一、读程序
1.a=-12
y=78.500000
2.i=0
1/2is:
0.500000
3.ab□c□□□□de
f□□□□□□□g
h□□□□□□□ij□k
4.i=8,j=7,k=7
5.i=-8
i=9
二、完成程序
1.floatx,y;
2.longinta;
intb;
floatc;
3.doublea,b;
4.charc;
三、调试程序
j定义为int型,应改为:
longintj;
2.在定义w变量时有错。
intw;
3.错误在:
应将f1,f2定义为:
double型;
doublef1,f2;
4.错误在于:
c变量没有赋值。
C=36;
四、写程序
实验四答案:
1.outputinteger:
15,□□□□□15,15□□□□□
7654.315000,7654.31
2.Olympics,Olympics□□,□□□□□□□Oly,Oly□□□□□□□
3.J
n(假设输入的是字符n)
n
4.-32767
333.22
3.3e+02
5.:
10smallerthan20
1.c=getchar();
或scanf(“%c”,&
c);
c+1
2.c1+32
3.(a+b)*4/(a*b)
4.#include<
math.h>
printf(“%.2f,%.2f\n”,s,a+s)
5.#include<
1.在main()上,增加文件包含语句。
#include<
stdio.h>
2.在printf(“\nk=%d”,k);
中,输出控制字符串和变量类型不匹配,所以,输出结果错误。
printf(“\nk=%f”,k);
3.scanf("
%f"
&
r);
4.printf("
t=%.2f\n"
t);
1.参考源代码:
main()
{
inta=34,b=56,c=7890;
floatd=7.256,e=12.45,f=-956.28;
printf("
a=%4d,b=%-3d,c=**%d\n"
a,b,c);
d=%3.1f\n"
d);
e=%7.2f\n"
e);
f=%6.1f\n"
f);
}
2---4代码略。
实验五答案:
1.a1=1a2=1
b1=0b2=1
2.x=3,y=1
x=0,y=0
x=-3,y=-1
3.a=10,b=30,c=10
4.x=2
5.1
2
3
4
1.x>
y
u>
z
2.ch>
=’A’&
&
ch<
=’Z’
ch=ch-32
3.a+b>
c&
b+c>
a&
c+a>
b
a==b&
b==c或a==b&
a==c或a==c&
b==c
a==b||b==c||c==a
4.r=0.08;
break;
复合语句少了{};
改正:
{t=x;
x=y;
y=x;
2.错误:
2<
x<
=10和-1<
=2书写错误
x>
2&
=10x>
-1&
=2
if<
x!
=0)
if(x>
0)y=1;
elsey=0;
{if(x>
switch(c)
{case10:
case9:
cscore=’A’;
break;
case8:
cscore=’B’;
case7:
cscore=’C’;
default:
cscore=’D’;
switch(c)
1.输入4个数x,y,z,w,要求按由大到小的顺序输出。
参考源代码:
main()
{
intx,y,z,wt;
scanf("
%d%d%d,%d"
&
x,&
y,&
z,&
w);
if(x<
y)
{t=x;
x=y;
y=t;
}
if(x<
z)
x=z;
z=t;
w)
x=w;
w=t;
if(y<
{t=y;
y=z;
y=w;
if(z<
{t=z;
z=w;
bigtosmall:
%d,%d,%d,%d\n"
x,y,z,w);
2.试编程判断输入的字符是“Y”还是“N”,如是“Y”或“y”,输出“Continue”,如是“N”或“n”,输出“Stop”,否则,输出“EnterError,Retry!
”。
参考参考源代码:
charc;
scanf("
%c"
if(c==”Y”||c==”y”)
\nContinue\n"
);
elseif(c==”N”||c==”n”)
\nStop\n"
elseprintf("
\nEnterError,Retry!
\n"
3.编写一个程序,从键盘输入某个雇员的每周工作时间(以小时计)(wh)和每小时的工资数(wage),计算并输出他的周工资。
若雇员每周工作小时超过40小时,则超过部分按原工资的1.5倍加班工资来计算。
若雇员每周工作小时超过50小时,则超过部分按原工资的3倍的加班工资来计算。
(用if…elseif语句)
{intwh;
floatwage,total;
Pleaseinputworktimeandahourwage\n"
%d%f"
wh,&
wage);
if(wh>
50)total=40*wage+(50-40)*wage*1.5+(wh-50)*wage*3;
else(wh>
40)total=40*wage+(wh-40)*wage*1.5;
elsetotal=wh*wage;
printf(“\nThetotalwagesis:
%.2f\n”,total);
4.写一个程序完成两个实数的四则运算。
(用switch语句)
{floatx1,x2,y;
\nPleaseinputtwonumberand+/-/*//:
%f%c%f"
x1,&
c,&
x2);
switch(c)
{case'
+'
:
y=x1+x2;
case'
-'
y=x1-x2;
*'
y=x1*x2;
/'
y=x1/x2;
\nPleaseinputtheresult:
Result=%.2f"
y);
实验六答案:
1.1
2.a=2,b=9
3.a=1,b=9
4.a=2,b=8
5.Thetotalis1534
1.a!
=b
2.ch=ch-32+2
ch=’B’
3.i<
=n
4.(n%10)*(n%10)
5.count<
=7
t=t*2
循环条件k=0,应改为:
k!
=0
循环体中,没有循环变量改变语句,应增加一句i++;
s=s+1/n;
应改为:
s=s+1.0/n;
c=c;
c=c+4;
1.编写一个程序,显示ASCII码65~122(十进制)的字符表,控制一行输出10个字符。
{intc=65;
inti=0;
printf(“\n”);
while(c<
=122)
{printf(“%c“,c);
c++;
i++;
if(i%10==0)printf(“\n”);
2.输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
#include"
stdio.h"
{charc;
intletters=0,space=0,digit=0,others=0;
printf("
pleaseinputsomecharacters\n"
while((c=getchar())!
='
\n'
)
{
if(c>
a'
c<
z'
||c>
A'
Z'
letters++;
elseif(c=='
'
space++;