实验二选择结构程序设计实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;

}

相关文档
最新文档