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