南京信息工程大学 实验(实习)报告
实验(实习)名称 分支结构程序设计 实验日期 4.18 得分 指导教师 刘文杰 院 大气物理 专业 安全工程 年级16级 班次 一班 姓名 刘亚栎 学号 20161395007
1.实验目的:
1)了解条件与程序流程的关系。
2)了解用不同的数据使程序的流程覆盖不同的语句、分支和路径。 3)掌握if语句和if else语句的用法。 4)掌握switch语句的用法。 2.实验内容:
(1)从键盘上输入3个数,让他们代表3条线段的长度,请写一个判断着3条线段所组成的三角形属于什么类型(不等边、等腰、等边或不构成三角形)的C程序。请分别设计下列数据对自己的程序进行测试。
①找出各条语句中的错误。 ②找出各分支中的错误。 ③找出各条件中的错误。 ④找出各条件组合中的错误。 ⑤找出各条路径中的错误。
(2)用scanf函数输入一个百分制成绩(整型量),要求输出成绩等级A、B、C、D、E。其中90~100分为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。具体要求如下。
①用if语句实现分支或switch分支。 ②在输入百分制成绩之前要有提示。
③在输入百分制成绩后,要判断该成绩的合理性,对于不合理的成绩(即小 于100分或者小于0分)应输出出错信息。
④在输出结果中应包括百分制成绩与成绩等级,并要有文字说明。
⑤分别输入百分制成绩:-90、100、90、85、70、60、45、101,运行该程序。
(3)编程找出5个整数中的最大数和最小数,并输出找到最大数和最小数。 3.实验步骤
{对每个实验题目进行简要步骤描述,包括核心源码和实验结果截图} (1)#include
#include
int main() //判断三角形属于什么类型的(不等边,等腰,等边,不构成三角形) { int a,b,c; scanf(\ if(a<=0||b<=0||c<=0){
printf(\输入有问题,边长要为正数\
exit(0); } else if(a+b<=c||b+c<=a||a+c<=b)
}
printf(\两边之和不大于第三边,不能构成三角形\else if(a==b&a==c) printf(\输入的边长构成等边三角形\else if(a==b||b==c||a==c) printf(\输入的边长构成等腰三角形\else printf(\输入的边长构成普通三角形\return 0;
(2)
#include
int t,score;
printf(\请输入一个百分制成绩\\n\ scanf(\ t=score;
if (score<0||score>100) {
printf(\输入的不是百分制,输入有问题\exit(0); }
score/=10; switch(score) { case 9: case 10: printf(\你获得%d分,成绩等级为A\ case 8: printf(\你获得%d分,成绩等级为B\ case 7: printf(\你获得%d分,成绩等级为C\ case 6: printf(\你获得%d分,成绩等级为D\ default:printf(\你获得%d分,成绩等级为E\}
printf(\return 0; }
(3)
#include
//编程找出5个整数中的最大数和最小数,并输出找到最大数和最小数 int main() {
int max,min,b,a; scanf(\ max=b; min=b;
for(a=0;a<4;a++) { scanf(\ if(maxb) min=b; }
printf(\最大值是%d\ printf(\最小值是%d\ return 0; }
4.实验分析和总结
{进行本实验的分析,总结收获和经验} 分析:
(1) 总结分支程序的设计方法。
设计方法:有条件用if,情况比较多用switch-case,一直循环用for。 (2) 复合语句的使用。
(3) switch语句的注意事项。
① case之后必须是整数。
② switch之后括号为变量,括号之后还要有大括弧。 ③ break之前之后都有分号。