武汉理工大学c语言实验报告册答案
武汉理工大学c语言实验报告册答案
实验一顺序结构的程序设计
1、
main()
{
float x,y;
printf("x=");
scanf("%f=",&x);
y=0.75*x*x*x*x*x+12*x*x*x*x-7.3*x*x*x-8/3*x*x+2*x-4;
printf("y=%f\n",y);
getch();
}
2、main()
{
int x,a,b,c,y;
printf("x=");
scanf("%d",&x);
a=x%10;
b=x%100-a;
c=(x-b-a)/100;
y=c+b+a*100;
printf("y=%d\n",y);
getch();
}
实验二选择结构的程序设计
1、
#include
main()
{
float x,y;
printf("Please input x:");
scanf("%f",&x);
if (x<-1||x>=2)
printf("Data Error\n");
else
{
if (x>=-1&&x<0)
y=4*x-8;
if (x>=0&&x<1)
y=3*x*x+10*x-1;
if (x>=1&&x<2)
y=8*x*x*x*x-3*x*x+2*x-1;
printf("\ny=%f\n",y);
}
getch();
}
2、(1)If语句结构
main()
{
int level;
double weight,pay,money,charge;
printf("Please input the level:");
scanf("%d",&level);
printf("Please input the weight you want:");
scanf("%lf",&weight);
printf("Please input the money you pay:");
scanf("%lf",&pay);
if (level<1||level>4||weight<0) printf("Data Error\n");
else{
if (level==1) money=weight*5.50;
else if (level==2) money=weight*4.20;
else if (level==3) money=weight*3.00;
else if (level==4) money=weight*2.50;
charge=pay-money;
printf("\nLevel:%d\nweight:%g\n",level,weight);
printf("money:%g\ncharge:%g\n\n",money,charge);
}
getch();
}
(2)switch语句结构
main()
{
int a,c,n,z;
float b,d,e,f;
printf ("苹果的等级=");
scanf ("%d",&a);
printf ("苹果的数量=");
scanf ("%d",&c);
printf ("顾客应付款数=");
scanf ("%f",&d);
n=1*(a==1)+2*(a==2)+3*(a==3)+4*(a==4);
switch (n)
{
case 1:b=5.50;break;
case 2:b=4.20;break;
case 3:b=3.00;break;
case 4:b=2.50;break;
}
e=b*c;
f=d-e;
z=1*(a>=1&&a<=4&&f>=0&&c>=0)+2*(a<1||a>4||f<0||c<0);
switch(z)
{
case 1:printf("\n\n苹果的等级=%d\n苹果的数量=%d\n顾客付款数=%0.2f\n应付款数=%0.2f\n应找钱数=%0.2f\n",a,c,d,e,f);
getch();break;
case 2:printf("\n\ndata error");getch();
}
}
实验三循环结构的程序设计
1、(1)单层循环
main()
{
int i,x;
double j,k,sum;
printf("Please input a number:");
scanf("%d",&x);
//用单层循环
for(sum=0,j=1,i=1;i<=x;i++)
{
j*=i;
sum+=j;
}
printf("The result is %.lf\n",sum);
getch();
(2)双层循环
main()
{
int i,x;
double j,k,sum;
printf("Please input a number:");
scanf("%d",&x);
for(sum=0,i=1;i<=x;i++)
{
for(k=1,j=1;j<=i;j++) k*=j;
sum+=k;
}
printf("The result is %.lf\n",sum);
getch();
}
2、#include
main()
{
double score,min,max,avg=0;
int i;
//下面是为了输入第一个数
printf("Please input 20 scores...\n");
printf("Score 1: ");
scanf("%lf",&score);
min=score;max=score;
avg+=score;
// 下面为了输入剩余19个数
for(i=2;i<=20;i++)
{
do
{
printf("Score %d: ",i);
scanf("%lf",&score);
}
while(score<0);
if(score>max) max=score;
avg+=score;
}
avg=avg-min-max;
avg/=18;
printf("\nThe average score is %lf:\n",avg);
实验四数组和指针应用的程序设计1、(1)数组的方法
main()
{
int a[10],i,j,t;
for (i=0;i<8;i++)
{
printf ("a[%d]=",i);
scanf ("%d",&a[i]);
}
for (i=0;i<7;i++)
for (j=i+1;j<8;j++)