当前位置:文档之家› C语言实验三程序 总结 逻辑运算和选择结构程序设计

C语言实验三程序 总结 逻辑运算和选择结构程序设计


⑵ 输入三角形三边长 a,b,c; ⑶ 判定三角形类型并输出结果; if(组成三角形的条件) if(等腰三角形) 是等腰三角形; if(等边三角形) 输出是等边三角形; else 输出是等腰三角形; else 输出是三角形; else 输出不是三角形; ⑷ 如果是三角形,计算并输出面积; ● 组成三角形的条件 ● 等腰三角形(Isosceles triangle) ● 等边三角形(Equilateral triangle) a+b>c && b+c>a && c+a>b a= =b||b= =c||c= =a a= =b && a= =c
程序如下: #include <stdio.h> main() { int a,b,c,max; printf("请输入 3 个整数:"); scanf("%d,%d,%d",&a,&b,&c); if(a>=b) max=a; else max=b; if(c>max) max=c; printf("max=%d\n",max); } 输出如下:
实验三
一 实验目的
1 2 3
逻辑运算和选择结构程序设计
掌握 C 语言表示逻辑量的方法(0 代表“假” ,1 代表“真”); 学会正确使用逻辑运算符和逻辑表达式; 熟练掌握 if 语句和 switch 语句。

实验内容
1 已知三个整数 a,b,c,找出最大值放在 max 中。 #include <stdio.h> main() { 定义整数变量 a,b,c,max; 键盘输入 3 个整数 a,b,c; 在 a,b 中间求出较大数 max(如果 a>=b,则 max=a;否则 max=b); c 与 max 比较,如果 c>max,则 max=c; 输出最大数 max; } 根据上面的算法,编写程序;若输入下列数据,分析程序的执行顺序并写出输出结果。 序号 1 2 3 4 5 6 输入的 3 个整数 a、b、c 1,2,3 1,3,2 2,1,3 2,3,1 3,1,2 3,2,1 输出 max max=3 max=3 max=3 max=3 max=3 max=3
方法二:用 switch 语句 分析:switch 语句是用于处理多分支的语句。注意,case 后的表达式必须是一个常量 表达式,所以在用 switch 语句之前,必须把 0~100 之间的成绩分别化成相关的常量。所有 A(除 100 以外) 、B、C、D 类的成绩的共同特点是十位数相同,此外都是 E 类。则由此可把 score 除十取整,化为相应的常数。 请同学们自己根据分析写出完整的程序段,并编译、运行、查看结果。
2
输入某学生的成绩,经处理后给出学生的等级,等级如下: 80~90 分(包括 80) :B 60 分以下:E 70~80 分(包括 70) :C
90 分以上(包括 90) :A 60~70 分(包括 60) :D
方法一:用嵌套的 if 语句 #include "stdio.h" main() { 定义整数变量:成绩 score,字符型变量:等级 grade; 输入学生成绩 score; 如果 score>100 或 score<0,则输出信息: “输入成绩错误! ”; 否则 { 如果 score>=90,则等级 grade='A'; 否则 如果 score>=80,则等级 grade='B'; 否则 如果 score>=70,则等级 grade='C'; 否则 如果 score>=60,则 grade='D'; 否则 grade='E'; 输出成绩等级 grade; } } 输入测试数据,调试程序。测试数据要覆盖所有路径,注意临界值,例如此题中 100 分,60 分,0 分以及小于 0 和大于 100 的数据。如果稍不注意就会出现小的程序缺陷。
3 从键盘上输入三个实数,它们分别代表三条线段的长度,请写一个判断这三条线段 所组成的三角形属于什么类型(不等边,等腰,等边或不构成三角形)的 C 程序;如果能构 成三角形,求出三角形的面积(取小数 2 位) 。 用下面的数据运行程序,记录程序的输出结果:
a 1.58 3.21 2.48 2.35
程序如下: #include<stdio.h> #include<math.h> main() { float a,b,c,p,s; printf(“请输入三个实数”); scanf(“%f,%f,%f”,&a,&b,&c); if ((a+b)<c||(b+c)<a||(c+a)<b) else if((a==b)||(a==c)||(b=c)) { printf(“等腰三角形”); p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c);
b 2.37 4.25 2.48 9.28
c 1.58 5.16 2.48 3.83
类型
三角形面积
【提示】已知三角形边长 a、b、c,计算三 ( p a )( p b )( p c )
其中
p
abc 2
求平方根用函数 sqrt。注意,应在程序中加入文件包含命令行: #include <math.h> 【算法】 ⑴ 定义变量 a,b,c,e,(a,b,c 是三角形三边长,e 是组成三角形的条件), p,s(计算三角形面积用);
程序如下: #include <stdio.h> main() { int score; char grade; printf("请输入学生成绩:"); scanf("%d",&score); if(score>100||score<0) printf("\n 输入成绩错误!\n"); else{ if(score>=90) grade='A'; else if(score>=80) grade='B'; else if(score>=70) grade='C'; else if(score>=60) grade='D'; else grade='E'; printf("\n 成绩等级是%c\n",grade); } } 运行结果如下:
printf(“不构成三角形”);
} else if(a=b)&&(b=c) { printf(“等边三角形”); p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c); } else { printf(“不等边三角形”); p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c); } } 实验总结: 本次实验主要是掌握 C 语言表示逻辑量的方法和正确使用逻辑运算符和逻辑表 达式, 熟练掌握 if 语句和 switch 语句。通过本次实验加深了对逻辑运算和选择 结构的进一步了解,实验中遇到一些问题,最后经过一步步的改正,最终使程序 可以顺利运行
程序如下: #include <stdio.h> main() { int score; char grade; printf("请输入学生成绩:"); scanf("%f",&score); if (score>100||score<0) printf("enter"); else {score=score/10; c=(int)score; switch(c) {case 10: case 9: printf("等级是 A\n");break; case 8: printf("等级是 B\n");break; case 7: printf("等级是 C\n");break; case 6: printf("等级是 D\n");break; case 5: case 4: case 3: case 2: case 1: case 0: printf("等级是 E\n");break; }}}
相关主题