实验二选择结构程序设计实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三:C程序的选择结构
一、实验目的和要求
(1)了解 C 语言表示逻辑量的方法(以0 代表“假”,以非0 代表“真”)。
(2)学会正确使用逻辑运算符和逻辑表达式。
(3)熟练掌握if 语句的使用(包括if 语句的嵌套)。
(4)熟练掌握多分支选择语句—switch 语句。
(5)结合程序掌握一些简单的算法。
(6)进一步学习调试程序的方法。
二、、实验软硬件配置
1.硬件配置
电脑
2.软件配置
Windows xp Visual C++6.0
三、实验内容及过程描述
实验步骤:
①进入Visual C++ 6.0 集成环境。
②输入自己编好的程序。
③检查一遍已输入的程序是否有错(包括输入时输错的和编程中的错误),如发现有错,及时
改正。
④进行编译和连接。如果在编译和连接过程中发现错误,频幕上会出现“报错信息”,根据提
示找到出错位置和原因,加以改正。再进行编译,如此反复直到不出错为止。
⑤运行程序并分析运行结果是否合理。在运行是要注意当输入不同的数据时所得结果是否正
确,应运行多次,分别检查在不同情况下结果是否正确。
实验内容:
本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。
x x 1
(1)有一函数:y 2x 1 1 x 10
3x 11 x 10
写程序,输入x 的值,输出y 相应的值。用scanf 函数输入x 的值,求y 的值。程序如下:#include
int main() {float
x,y;
int i;
while(i<1000)
{
printf(" 请输入x 的值:");
scanf("%f",&x);
if(x<1) y=x;
else if(1<=x&&x<10)
else
y=3*x-11;
printf("y 的值为:%f\n",y);
} 程序运行结果如
下:
(2)从键盘输入一个小于1000 的正数,要求输出它的平方根(如平方根不是整数,则输出其
整数部分)。要求在输入数据后先对其进行检查是否小于1000 的正数。若不是,则要从新输入。编写程序如下:
#include
#include
int main() {int a, b;
printf(" 请输入一个小于1000 的正数:");
scanf("%d",&a); while(a<=0||a>1000)
{printf(" 您输入的数不符合要求!请重新输入:");
scanf("%d",&a);
}
b=sqrt(a);
printf("%d 的平方根的整数部分是%d\n",a,b);
return 0;
}
运行结果为:
(3)给出一个百分制成绩,要求输出成绩等级A,B,C,D,E。90 分以上为A,81~89 分为B,70~79 分为C,60~69 分为D,60 分以下为E。
①用if 语句编写程序如下:
#include
int main() {float
score; char grade;
int a,i;
while(i<10000)
{
printf(" 请输入学生成绩:");
scanf("%f",&score);
while(score>100||score<0)
{printf("\n 您的输入有误!请重新输入");
scanf("%f",&score);
}
a=(score/10);
if(a>=9)
grade='A';
else if(a==8)
grade='B';
else if(a==7)
grade='C';
else if(a==6)
grade='D';
else if(a<6)
grade='E';
printf(" 成绩是%5.1f,相应的等级是%c\n",score,grade); } i++; return 0;
}
运行结果如图:
用switch 语句编写程序如下:
#include
int main() {float
score;
char grade;
int i;
while (i<1000)
{
printf(" 请输入学生成绩:");
scanf("%f",&score);
while(score>100||score<0)
{printf(" 您的输入有错!请重新输入:");
scanf("%f",&score);}
switch((int)(score/10))
{case 10:
case 9:grade='A';break;
case 8:grade='B';break;
case 7:grade='C';break;
case 6:grade='D';break;
case 5: case 4: case 3:
case 2: case 1:
case
0:grade='E'; }
printf(" 成绩是%5.1f ,相应的等级
是%c\n",score,grade); } i=i++;
return 0;
}
运行结果如图:
(4)输入4 整数,要求按由小到大顺序输出。编写程序如下:#include
int main() {int
t,a,b,c,d;
printf(" 请输入 4 个数:");
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
if(a>b)
{t=a,a=b,b=t;}
if(a>c)
{t=a,a=c,c=t;}
if(a>d)
{t=a,a=d,d=t;}
if(b>c)
{t=b,b=c,c=t;}
if(b>d)
{t=b,b=d,d=t;}
if(c>d)
{t=c,c=d,d=t;}
printf(" 排序结果如下:\n");
printf("%d %d %d %d\n",a,b,c,d);
return 0;
}