C语言实验指导书习题
- 格式:docx
- 大小:38.41 KB
- 文档页数:27
实验2 C预言的三种程序结构
2.1 顺序结构
1)已知a=1.5,b=5.3,c=2.9,计算𝐬=𝐛(𝟐)−𝟒𝐚𝐜的结果并输出。
#include
void main ()
{
float a,b,c,s;
a=1.5;
b=5.3;
c=2.9;
s=b*b-4*a*c;
printf("s的值是%f\n",s);
}
2)输入某学生三个科目的期末考试成绩,计算出该学生的成绩总分和平均分。
#include
void main()
{
int a,b,c;
float sum,avg;
scanf("%d%d%d",&a,&b,&c);
sum=a+b+c;
avg=sum/3;
printf("sum=%.0f,avg=%f\n",sum,avg);
}
3)输入圆的半径,计算圆的面积,圆周率3.1416。
#include
void main()
{
float r,area;
scanf("%f",&r);
area=3.1416*r*r;
printf("area=%f\n",area);
}
4)输入一个两位数,将其个位数和十位数互换后变成的一个新数输出。
#include
void main()
{
int x,y;
scanf("%d",&x); y=x%10*10+x/10;
printf("y=%d\n",y);
}
5)输入两个数a和b,将两数的值互换后输出新值。
#include
void main()
{
int x,y,t;
scanf("%d%d",&x,&y);
t=x;
x=y;
y=t;
printf("x=%d,y=%d\n",x,y);
}
2.2 简单分支结构
1)输入两个整数,求出其中较小值并输出。
#include
void main()
{
int x,y;
scanf("%d%d",&x,&y);
if(x>y)
printf("min=%d\n",y);
else
printf("min=%d\n",x);
}
2)输入x的值计算分段函数。
Y=f(x)=x(2)+2x x<2
2x-1 x>=2
#include
void main()
{
float x,y;
scanf("%f",&x);
if(x<2)
y=x*x+2*x;
else
y=2*x-1;
printf("y=f(%f)=%f\n",x,y);
}
3)输入两个整数并判断两数是否相等,输出相应结论。
#include
void main()
{
float x,y;
printf("请输入两个整数(用回车隔开):");
scanf("%d%d",&x,&y);
if(x==y)
printf("x=y\n");
else
printf("x!=y\n");
}
4)输入一个整数,若为负数,求出它的平方;若为正数,输出它的立方。
#include
void main()
{
int a,y;
printf("请输入一个整数:");
scanf("%d",&a);
if(a<=0)
y=a*a;
else
y=a*a*a;
printf("y=%d\n",y);
}
5)输入一个整数,用if-else结构求出最大值。
#include
void main()
{
int a,b,c,max;
printf("请输入三个整数(用回车隔开):");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
max=a;
else
max=b;
if(max>c)
max=max;
else
max=c;
printf("最大值是:%d\n",max);
} 2.3 简单的顺序结构
1)计算1+4+7+…+301
#include
void main()
{
int i,sum;
sum=0;
for(i=1;i<=301;i=i+3)
sum=sum+i;
printf("sum=%d\n",sum);
}
2)循环输入某同学的八个科目,计算成绩总分和平均分。
#include
void main()
{
int i,x,sum;
sum=0;
printf("请输入学生八个科目的成绩:\n");
for(i=1;i<=8;i++)
{
scanf("%d",&x);
sum=sum+x;
}
printf("sum=%d,avg=%.2f\n",sum,sum/8.0);
}
3)计算n!
#include
void main()
{
int i,x,sum;
sum=1;
printf("请输入x的值:\n");
scanf("%d",&x);
for(i=1;i<=x;i++)
{
sum=sum*i;
}
printf("sum=%d\n",sum);
}
4)显示1~10的平方,输出1*1=1,2*2=4,。。。10*10=100.
#include void main()
{
int i;
for(i=1;i<=10;i++)
printf("%d*%d=%d\n",i,i,i*i);
}
5)计算1—3/4+5/7-7/10….前n项之和。
#include
void main()
{ int i,n;
float item,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);
}
实验3 分支程序结构
3.1 简单分支结构
1)输入一个整数X,判断是否为5的倍数。
#include
void main()
{
int x;
scanf("%d",&x);
if(x%5==0)
printf("%d能整除5\n",x);
else
printf("%d不能整除5\n",x);
}
2)输入X,计算
Y=-5 x<0
X(2)+2 0<=x<=1
x/2 x>1
#include
void main()
{
double x,y;
scanf("%lf",&x);
if(x<0) y=-5;
else if(x>=0 && x<=1) y=x*x+2;
else y=x/2;
printf("%f\n",y);
}
3)某商场打折如下:
购物金额<300元 不打折
300<=购物金额<=500 9折
500<=购物金额 7折
要求输入一个购物金额(x),输出打折率(rate),以及购物的实际付款金额。
#include
void main()
{
int x,y;scanf("%d",&x);
if(x<300) printf("不打折,付款%d元",x);
else if(x>=300 && x<500)
{ y=x*0.9;
printf("9折,付款%d元",y);
}else