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

  • 格式:doc
  • 大小:893.50 KB
  • 文档页数:5

下载文档原格式

  / 5
  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集成环境。

②输入自己编好的程序。

③检查一遍已输入的程序是否有错(包括输入时输错的和编程中的错误),如发现有错,及时

改正。

④进行编译和连接。如果在编译和连接过程中发现错误,频幕上会出现“报错信息”,根据提

示找到出错位置和原因,加以改正。再进行编译,如此反复直到不出错为止。

⑤运行程序并分析运行结果是否合理。在运行是要注意当输入不同的数据时所得结果是否正

确,应运行多次,分别检查在不同情况下结果是否正确。

实验内容:

本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。

(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 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; }