C语言程序设计实验指导书课后答案.docx
《C语言程序设计实验指导书课后答案.docx》由会员分享,可在线阅读,更多相关《C语言程序设计实验指导书课后答案.docx(49页珍藏版)》请在冰豆网上搜索。
![C语言程序设计实验指导书课后答案.docx](https://file1.bdocx.com/fileroot1/2022-11/16/0e4a770e-b971-4673-9bc1-2bee49bee062/0e4a770e-b971-4673-9bc1-2bee49bee0621.gif)
C语言程序设计实验指导书课后答案
实验一
(1)编程求37+29的值,实习VC环境。
#include
voidmain()
{
inta,b,sum;
a=37;
b=29;
sum=a+b;
printf("sum=%d",sum);
}
(2)从键盘输入三个整数,求出最大数并输出。
#include
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;
elsez=y;
return(z);
}
(3)通过上机实践,运行下列程序并分析输出结果。
A程序代码
#include
voidmain()
{
charch='a';
printf("%c对应的ASCII码是:
%d\n",ch,ch);
}
程序输出结果:
a对应的ASC||码是:
97
B程序代码
#include
voidmain()
{
inta=168;
floatb=123.456;
floatx=35.567,y;
printf("a=%5d\n",a);
printf("a=%-5d\n",a);
printf("b=%6.2f\n",b);
printf("b=%e\n",b);
y=(int)(x*100+0.5)/100.0;
printf("x=f,y=%f\n",x,y);
}
程序输出结果:
a=168
a=168
b=123.46b=1.234560e+002
C程序代码
#include
voidmain()
{
inta=168;
printf("十进制数%d对应的八进制数是%o\n",a,a);
printf("十进制数%d对应的十六进制数是%x\n",a,a);
}
程序输出结果:
十进制数168对应的八进制数是250
十进制数168对应的十六进制数是a8
实验二
已知a=1.5,b=5.3,c=2.9,计算s=
-4ac的结果并输出。
#include
voidmain()
{
floata,b,c,s;
a=1.5;
b=5.3;
c=2.9;
s=b*b-4*a*c;
printf("s的值是%f\n",s);
}
输入某学生的三个科目的期末考试成绩,计算出该学生的成绩总分和平均分。
#include
voidmain()
{
intmath,english,c_program;
floatsum,average;
printf("inputmath,english,c_program:
");
scanf("%d,%d,%d",&math,&english,&c_program);
sum=math+english+c_program;
average=sum/3;
printf("sum=%.0f,average=%.5f",sum,average);
}
输入圆的半径,计算圆的面积,设圆周率为3.1416.
#include
intmain()
{
floatr,s;
printf("请输入半径:
");
scanf("%f",&r);
s=3.1416*r*r;
printf("圆的面积为%.6f",s);
}
输入一个两位数,将其个位数和十位数互换后变成一个新的数,输出这个数。
#include
intmain(void)
{
intn,a,b;
printf("inputn:
");
scanf("%d",&n);
b=n%10;
a=n/10;
n=b*10+a;
printf("%d\n",n);
return0;
}
输入两个数a和b,将两数的值互换后输出新值。
#include
voidmain()
{
intx,y,t;
scanf("%d%d",&x,&y);
t=x;
x=y;
y=t;
printf("x=%d,y=%d\n",x,y);
}
输入两个整数,求出其中的较小值输出。
#include
intmain()
{
inta,b,min;
printf("请输入a,b:
\n");
scanf("%d,%d",&a,&b);
if(a
min=a;
else
min=b;
printf("最小值是%d\n",min);
return0;
}
2.2.2输入x的值并计算分段函数y的值。
+2xx<2
Y=f(x)=
2x-1x>=2
#include
intmain(void)
{
doublex,y;
scanf("%lf",&x);
if(x<2)
y=x*x+2*x;
else
y=2*x-1;
printf("%.6f",y);
return0;
}
2.2.3输入两个整数并判断两数是否相等,输出相应结论。
#include
intmain()
{
inta,b;
printf("请输入两个整数:
\n");
scanf("%d,%d",&a,&b);
if(a==b)
printf("a等于b");
else
printf("a不等于b");
return0;
}
2.2.4输入一个整数,若为负数,求出它的平方;若为正数,求出它的立方,并输出结果。
#include
voidmain()
{
printf("请输入一个整数:
");
doublex,y;
scanf("%lf",&x);
if(x<0)
y=x*x;
else
y=x*x*x;
printf("y=f(%f)=%f\n",x,y);
}
2.2.5输入三个整数,用if-else结构求出其中的最大值。
提示:
首先求出两个数的较大值放在一个变量里,然后用这个变量和第三个数再进行一次比较。
#include
intmain()
{
inta,b,c,max;
printf("请输入三个数");
scanf("%d,%d,%d",&a,&b,&c);
if(a>b)
max=a;
else
max=b;
if(c>max)
max=c;
else
max=a;
printf("最大值为%d\n",max);
return0;
}
2.3.1计算1+4+7+…+301。
#include
voidmain()
{
inti,sum;
sum=0;
for(i=1;i<=301;i=i+3)
sum=sum+i;
printf("sum=%d\n",sum);
}
2.3.2循环输入某学生八个科目期末考试成绩,计算出该学生成绩总分和平均分。
#include
intmain(void)
{
inti,a;
floatsum,average;
sum=0;
for(i=1;i<=8;i++)
{
scanf("%d",&a);
sum=sum+a;
}
printf("成绩总分为%f\n",sum);
printf("平均分为%f\n",sum/8);
return0;
}
2.3.3输入n的值,计算n!
#include
intmain(void)
{
intn,i,a;
a=1;
printf("请输入n的值:
%d\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
a=a*i;
printf("积=%d\n",a);
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
#include
intmain(void)
{
inti,a;
for(i=1;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项之和。
#include
voidmain()
{
inti,n;
floatitem,flag,sum;
sum=0;
flag=1;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
item=flag*(2*i-1)/(3*i-2);
sum=sum+item;flag=-flag;
}
printf("%f\n",sum);
}
实验三
输入一个整数x,判定是否为5的倍数。
#include
intmain(void)
{
intx;
printf("x=");
scanf("%d",&x);
if(x%5==0)
printf("能整除5");
else
printf("不能整除5");
return0;
}
输入x,计算并输入下列分段函数对应的值。
-5x<0
Y=
0<=x<=1
x/2x>1
#include
intmain(void)
{
floatx,y;
printf("x=");
scanf("%f",&x);
if(x<0)
y=-5;
elseif(x>1)
y=x/2;
else
y=x*x+2;
printf("对应值为%.2f\n",y);
return0;
}
某商场给顾客购物的折扣率如下:
购物金额<300元不打折
300<=购物金额<500元9折
500元<=购物金额7折
要求输入一个购物金额(x),输出打折率(rate)以及购物实际付款金额(x*rate)
#include
intmain(void)
{
intx,y;
printf("x=");
scanf("%d",&x);
if(x<300)
{
y=x;
printf("不打折,付款%d\n",y);
}
elseif(