标签:c语言程序 观察 成绩 使用 循环 demo 功能 结构 a+b
part1
demo1.cpp
/* 《C语言程序设计教程学习指导》p122 实验内容(1):判断三角形类型:一般三角形、等腰三角形、等边三角形 这是一个使用多分支if语句编程解决非数值类问题示例 运行程序,输入不同边长数据进行测试,观察输出结果是否正确,理解和巩固if语句功能和用法 */ #include <stdio.h> int main() { double a,b,c; scanf("%lf %lf %lf", &a, &b, &c); if(a+b>c && a+c>b && b+c>a) { if(a==b && a==c) printf("构成等边三角形\n"); else if(a==b || a==c || b==c) printf("构成等腰三角形\n"); else printf("构成一般三角形\n"); } else printf("不能构成三角形\n"); return 0; }
运行结果
demo2.cpp
/* 这是在demo1.cpp的基础上行,增加了一小部分代码,可以循环判断多组数据 要终止输入和判断:按组合键Ctrl+D(同时按下Ctrl和D键),然后按回车键结束 */ #include <stdio.h> int main() { double a,b,c; printf("输入三角形三边:\n"); while(scanf("%lf%lf%lf",&a,&b,&c)) { if(a+b>c && a+c>b && b+c>a) { if(a==b && a==c) printf("构成等边三角形\n"); else if(a==b || a==c || b==c) printf("构成等腰三角形\n"); else printf("构成一般三角形\n"); } else printf("不能构成三角形\n"); printf("\n输入三角形三边:\n"); } return 0; }
demo3.cpp
/* 《C语言程序设计教程学习指导》p122 实验内容(2):输入百分制分数,测算并输出等级制分数 这是一个综合使用while语句、多分支if语句和continue、break实现分数段判断的示例 运行程序,输入不同分数值进行测试,理解和巩固这些控制语句的用法 按下组合键Ctrl+D(同时按下Ctrl和D)结束判断 */ #include <stdio.h> int main() { int score; // 用于存放百分制分数 char grade; // 用于存放等级制分数(取值‘A‘, ‘B‘,‘C‘,‘D‘, ‘E‘) while(1) { printf("输入学生成绩: "); if(scanf("%d",&score) == 0) // 如果检测到没有成绩输入,则结束整个循环 break; if(score<0 || score > 100) { printf("输入成绩有误!\n\n"); continue; // 结束本次循环,开始下一次循环 } else if(score>=90 && score<=100) grade = ‘A‘; else if(score>=80 && score<=89) grade = ‘B‘; else if(score>=70 && score<=79) grade = ‘C‘; else if(score>=60 && score <=69) grade = ‘D‘; else grade = ‘E‘; printf("等级为: %c\n\n", grade); } return 0; }
运行结果
demo4.cpp
/* 相较于demo3.cpp,这个代码实现中,分数从百分制转换为等级制的部分,使用switch语句实现 按下组合键Ctrl+D(同时按下Ctrl和D),然后按回车键,结束判断 */ #include <stdio.h> int main() { int score; // 用于存放百分制分数 char grade; // 用于存放等级制分数(取值‘A‘, ‘B‘,‘C‘,‘D‘, ‘E‘) while(1) { printf("输入学生成绩: "); if(scanf("%d",&score) == 0) // 如果检测到没有成绩输入,则结束整个循环 break; if(score<0 || score > 100) { printf("输入成绩有误!\n\n"); continue; // 结束本次循环,开始下一次循环 } switch(score/10) { // 使用switch进行分数等级判断 case 10: case 9: grade=‘A‘; break; case 8: grade=‘B‘; break; case 7: grade=‘C‘; break; case 6: grade=‘D‘; break; default: grade=‘E‘; } printf("等级为: %c\n\n", grade); } return 0; }
理解控制语句continue和break的功能
// 对比demo5_1.cpp和demo5_2.cpp,理解控制语句continue和break的功能 #include <stdio.h> int main() { int i; // 在循环语句中使用continue for(i=1; i<=5; i++) { if (i%3 == 0) // 如果i是3的倍数,则结束本次循环,开始下一次循环 continue; printf("i=%d\n",i); } return 0; }
// 对比demo5_1.cpp和demo5_2.cpp,理解控制语句continue和break的功能 #include <stdio.h> int main() { int i; // 在循环语句中使用break for(i=1; i<=5; i++) { if (i%3 == 0) // 如果i是3的倍数,则结束整个循环 break; printf("i=%d\n",i); } return 0; }
demo6-1.cpp
// 对比demo6_1.cpp和demo6_2.cpp,理解在嵌套的循环中,控制语句continue和break的功能 #include <stdio.h> const int LINE=3; // 定义符号常量LINE const int COLUME=5; // 定义符号常量COLUME int main() { int line; // 定义变量line, 用来控制行数 int col; // 定义变量col, 用来控制列数 // 输出LINE行信息 for(line=1; line<=LINE; line++) { // 每一行中,利用循环,输出各列信息 for(col=1; col<=COLUME; col++) { if(col%3 == 0) // 如果col是3的倍数,则结束本次循环,开始下一次循环 continue; printf("%5d", col); } printf("\n"); // 每输出完一行,换行 } return 0; }
demo6-2
#include <stdio.h> const int LINE=3; // 定义符号常量LINE const int COLUME=5; // 定义符号常量COLUME int main() { int line; // 定义变量line, 用来控制行数 int col; // 定义变量col, 用来控制列数 // 输出LINE行信息 for(line=1; line<=LINE; line++) { // 每一行中,利用循环,输出各列信息 for(col=1; col<=COLUME; col++) { if(col%3 == 0) // 如果col是3的倍数,则结束内层循环体 break; printf("%5d", col); } printf("\n"); // 每输出完一行,换行 } return 0; }
Part 2.补足程序,使得程序运行
编程中找出五个整数中的最大数和最小数,并输出找出的最大数和最小数。
#include <stdio.h> int main() { int number, max, min, n; n=1; printf("输入第%d个数: ", n); scanf("%d", &number); max = number; min = number; for(n=2;n<=5;){ printf("输入第%d个数: ", n); scanf("%d", &number); if(number>=max) max = number; else if(number<=min) min = number; n++; } printf("最大数为: %d\n", max); printf("最小数为: %d\n", min); return 0; }
运行结果
Part 3.
编程输出101~200之间的所有素数,并输出这一区间内的素数个数。
#include<stdio.h> #include <math.h> int isprime(int n) { //返回1表示判断为质数,0为非质数,在此没有进行输入异常检测 float n_sqrt; if(n==2 || n==3) return 1; if(n%6!=1 && n%6!=5) return 0; n_sqrt=floor(sqrt((float)n)); for(int i=5;i<=n_sqrt;i+=6) { if(n%(i)==0 | n%(i+2)==0) return 0; } return 1; } int main() { int num=0; int t=0; int i; for( i=101 ; i<=200 ; ++i ) { if(isprime(i)) { num++; printf("%2d ",i); t++; if(t==4) { printf("\n"); t=0; } } } return 0; }
#include<stdio.h> /*输入输出头文件*/ int main() /*空类型:主函数*/ { int a,b; /*定义变量的数据类型为整型*/ for(a=0;a<=4;a++) /*确定行数*/ { for(b=4-a;b>=0;b--) /*确定空格数量*/ printf(" "); for(b=1;b<=a*2+1;b++) /*确定每一行星号数量*/ printf("*"); printf("\n"); /*换行*/ } return 0; }
运行结果
实验总结:continue语句是结束本次循环,开始下一次循环且continue只能在循环结构中,而不能用于其他控制结构。
break语句只能用于switch或循环结构中。
虽然很难,但是现在感觉慢慢融进去了,从什么都不懂到开始开始慢慢的懂,这种感觉真好,继续努力。
标签:c语言程序 观察 成绩 使用 循环 demo 功能 结构 a+b
原文地址:https://www.cnblogs.com/dejizhuoma4637/p/10720920.html