第二次实验报告
实验项目:简单算法和分支结构
姓名:王星 实验时间:2021年4月15日
一、实验目的和要求
1、通过运行简单的C语言算法程序,熟悉简单算法的结构;
2、掌握分支结构的基本类型和用法;
3、熟悉掌握C语言的调试功能;
4、学会使用思维导图。
实验3.3.1
main()
{
float x,y;
printf("请输入x的值:");
scanf("%f",&x);
if(x<1)
{y=x;
printf("y=%f\n",y);}
else if(1<x<10)
{y=3*x-1;
printf("y=%f\n",y);}
else
{y=2*x-1;
printf("y=%f\n",y);}
}
问题分析:1打代码过程中容易出错,导致出现一些错误产生。
实验3.3.2
main()
{
int h,f,x,y;
printf("请输入鸡兔总数,鸡兔脚总数:\n");
scanf("%d%d",&h,&f);
if(h>0&&f>0)
{
x=(4*h-f)/2;
y=(f-2*h)/2;
printf("x=%d,y=%d",x,y);
}
else
printf("输入错误!\n");
}
实验3.3.3
main()
{
int h=10;
float x1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y4=-2,x,y,d1,d2,d3,d4;
float a1,a2,a3,a4;
printf("请输入一个点(x,y):");
scanf("%f,%f",&x,&y);
a1=(x-x1)*(x-x1)+(y-y1)*(y-y1);
d1=sqrt(a1);
a2=(x-x2)*(x-x2)+(y-y2)*(y-y2);
d2=sqrt(a2);
a3=(x-x3)*(x-x3)+(y-y3)*(y-y3);
d3=sqrt(a3);
a4=(x-x4)*(x-x4)+(y-y4)*(y-y4);
d4=sqrt(a4);
if(d1>1&&d2>1&&d3>1&&d4>1)
h=0;
printf("该塔高度为%d",h);/*判断该点是否在塔外*/
}
实验4.3.1
main()
{
int l,w,h;
printf("请输入箱子的长、宽、高:\n");
scanf("%d%d%d",&l,&w,&h);
if(l==w&&l==h&&w==h)
printf("该箱子是正方体。\n");
else
printf("该箱子是长方体。\n");
return 0;
}
问题:无法熟练使用==
实验4.3.2
main()
{
int x,y,z,n,f;
float e,a;
printf("请输入打印纸,墨盒,光盘的数量:\n");
scanf("%d%d%d",&x,&y,&z);
n=18*x+132*y+4.5*z;
printf("总价格=%d\n",n);
f=n/100;
switch(f)
{
case 0:e=100;
break;
case 1:e=5;
break;
case 2:e=6;
break;
case 3:e=7;
break;
case4:e=8;
break;
default:e=10;
}
a=(100-e)/100*n;
printf("应付款=%f",a);
}
问题:使用case不熟练
实验4.3.3
main()
{
int year,month,days;
printf("Please enter year and month:\n ");
scanf("%d%d",&year,&month);
switch (month)
{
case 2:if((year%4==0&&year%100!=0)||year%400==0)
days=29;
else
days=28;
break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:days=31;break;
case 4:
case 6:
case 9:
case 11:days=30;
break;
}
printf("%d年%d月有%d天",year,month,days);
return 0;
}
问题:在运行时没有使用大括号括