实验报告
课程:程序设计基础
实验内容、步骤与体会(附纸):
一、实验内容
1.编程:某百货商场进行打折促销活动,消费金额(p)越高,折扣(d)越大,标准如下:
消费金额 折扣
p <100 0%
100≤p <200 5%
200≤p <500 10%
500≤p <1000 15%
p ≥1000 20%
从键盘输入消费金额, 输出折扣率和实付金额(f)。
要求:用switch语句实现。
流程图:
程序:
#include
main()
{
int a;
float p,d,f;
printf("Please enter the payment:\n");
scanf("%f",&p);
a=p/100;
switch(a)
{
case 0:
printf("f=%f,d=0",p);
break;
case 1:
printf("f=%f,d=0.95",p*0.95);
break;
case 2:
case 3:
case 4:
printf("f=%f,d=0.9",p*0.9);
break;
case 5:
case 6:
case 7:
case 8:
case 9:
printf("f=%f,d=0.85",p*0.85);
break;
default:
printf("f=%f,d=0.8",p*0.8);
}
}
2.教材第5章课后实验题中的第1题(P102)
流程图:
程序:
#include
main()
{
char sex,sports,diet;
float H,faHeight,moHeight;
printf("Please enter your sex(F/M):\n");
sex=getchar();
printf("Do you like sports(Y/N):\n");
getchar();
scanf("%c",&sports);
printf("Do you have a good diet habit(Y/N):\n");
getchar();
scanf("%c",&diet);
printf("Your father's height and your monthers':\n");
scanf("%f,%f",&faHeight,&moHeight);
if(sex=='M')
{
H=(faHeight+moHeight)*0.54;
if(sports=='Y'&&diet=='N')
{
H=H*(1+0.02);
}
else if(sports=='N'&&diet=='Y')
{
H=H*(1+0.015);
}
else if(sports=='Y'&&diet=='Y')
{
H=H*(1+0.02+0.015);
}
else
{
H=H;
}
}
else
{
H=(faHeight*0.923+moHeight)*0.5;
if(sports=='Y'&&diet=='N')
{
H=H*(1+0.02);
}
else if(sports=='N'&&diet=='Y')
{
H=H*(1+0.015);
}
else if(sports=='Y'&&diet=='Y')
{
H=H*(1+0.02+0.015);
}
else
{
H=H;
}
printf("H=%f",H);
}
}
二、实验体会:
通过在软件上实践地编程,才发现有许多地方有问题,小到少一个或多一个空格、打错了字母以至于没有定义等,大到程序本身的结构、算法,一点点失误都会引起程序无法运行或是运行有问题。同时我也发现同学们一起讨论、检查,会比自己一个人闷头编效果好。很多时候自己不知道错在哪,找同学看一下会比自己找错误快很多,大家一起可以互相补充、互相检查。这一次在软件上编让我发现了自己的很多不足与问题,我会继续努力完善自己的。
本文来源:https://www.2haoxitong.net/k/doc/d07fef9b964bcf84b9d57bb0.html
文档为doc格式