实验二选择结构程序设计实验报告
- 格式:doc
- 大小:893.50 KB
- 文档页数:5
实验三: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集成环境。
②输入自己编好的程序。
③检查一遍已输入的程序是否有错(包括输入时输错的和编程中的错误),如发现有错,及时
改正。
④进行编译和连接。如果在编译和连接过程中发现错误,频幕上会出现“报错信息”,根据提
示找到出错位置和原因,加以改正。再进行编译,如此反复直到不出错为止。
⑤运行程序并分析运行结果是否合理。在运行是要注意当输入不同的数据时所得结果是否正
确,应运行多次,分别检查在不同情况下结果是否正确。
实验内容:
本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。
(1)有一函数:
()
()
()⎪
⎩
⎪
⎨
⎧
≥
-
<
≤
-
<
=
10
x
11
3
10
x
1
1
2
1
x
x
x
x
y
写程序,输入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)
运行结果如图:
用switch 语句编写程序如下:
{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;
}
#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);}
运行结果如图:
(4)输入4整数,要求按由小到大顺序输出。编写程序如下: 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; }
#include
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; }