选择结构if...lese和switch
1.
if...else
if的条件可以填充一个范围
#include
int main() {
// 定义一个变量,这个变量可以是小数
float score;
// 提示用户输入成绩
printf("输入分数");
// 输入成绩
scanf("%f",&score);
// 开始判断成绩的大小,并打印不同的结果
// 成绩为90~100时
if (score <= 100 && score >= 90) {
printf("恭喜你,你真牛!");
}
// 成绩为80~90时
else if(score <90 && score >= 80){
printf("优秀!");
}
// 成绩为60~80时
else if (score < 80 && score >= 60) {
printf("良好!");
}
// 成绩为30~60时
else if (score < 60 && score >= 30) {
printf("恭喜你,你噶了!");
}
// 成绩为0~30时
else{
printf("进步空间很大!",score);
}
return 0;
}
2.
switch
switch只能填充一个具体数字,不能给定范围。
#include
int main10() {
int day;
printf("输入数字");
scanf("%d", &day);
// switch只能固定取值,不能像if...else一样规定范围
switch (day) {
// 当输入数字为1时执行case以下对应的程序,break可以终止执行
case 1:
printf("今天星期一");
break;
case 2:
printf("今天星期二");
break;
case 3:
printf("今天星期三");
break;
case 4:
printf("今天星期四");
break;
case 5:
printf("今天星期五");
break;
case 6:
printf("今天星期六");
break;
case 7:
printf("今天星期天");
break;
// default:当不满足以上任意一种情况时所执行的内容
default:
printf("请输入数字1—7。");
}
return 0;
}
3.
一个关于计算平均值,方差,标准差的程序
/* 该程序操作流程:
1.用户输入需要计算的数字的个数,程序作用范围为2—8
2.用户输入对应的数字的个数得到平均值,方差,标准差
3.所有结果数字均显示小数点后四位*/
#include
#include
int main()
{
/* x1 - 8为用户所输入的数字;
average变量为平均值;
total为用户输入的数字的总和;
ss变量为方差;
total1变量为方差乘以用户输入数字个数;
s变量为标准差。*/
double x1, x2, x3, x4, x5, x6, x7, x8, average, total, ss, total1, s;
int n;
printf("输入计算个数(必须填写整数):");
scanf("%d", &n);
switch (n) {
case 2:
printf("输入2个数字计算平均值,方差,标准差\n");
scanf("%lf %lf", &x1, &x2);
total = (x1 + x2);
average = total / 2;
printf("平均数为%.4f\n", average);
total1 = (x1 - average) * (x1 - average) + (x2 - average) * (x2 - average);
ss = total1 / 2;
printf("方差为%.4f\n", ss);
s = sqrt(ss);
printf("标准差为%.4f", s);
break;
case 3:
printf("输入3个数字计算平均值,方差,标准差\n");
scanf("%lf %lf %lf", &x1, &x2, &x3);
total = (x1 + x2 + x3);
average = total / 3;
printf("平均数为%.4f\n", average);
total1 = (x1 - average) * (x1 - average) + (x2 - average) * (x2 - average) + (x3 - average) * (x3 - average);
ss = total1 / 3;
printf("方差为%.4f\n", ss);
s = sqrt(ss);
printf("标准差为%.4f", s);
break;
case 4:
printf("输入4个数字计算平均值,方差,标准差\n");
scanf("%lf %lf %lf %lf", &x1, &x2, &x3, &x4);
total = (x1 + x2 + x3 + x4);
average = total / 4;
printf("平均数为%.4f\n", average);
total1 = (x1 - average) * (x1 - average) + (x2 - average) * (x2 - average) + (x3 - average) * (x3 - average) + (x4 - average) * (x4 - average);
ss = total1 / 4;
printf("方差为%.4f\n", ss);
s = sqrt(ss);
printf("标准差为%.4f", s);
break;
case 5:
printf("输入5个数字计算平均值,方差,标准差\n");
scanf("%lf %lf %lf %lf %lf", &x1, &x2, &x3, &x4, &x5);
total = (x1 + x2 + x3 + x4 + x5);
average = total / 5;
printf("平均数为%.4f\n", average);
total1 = (x1 - average) * (x1 - average) + (x2 - average) * (x2 - average) + (x3 - average) * (x3 - average) + (x4 - average) * (x4 - average) + (x5 - average) * (x5 - average);
ss = total1 / 5;
printf("方差为%.4f\n", ss);
s = sqrt(ss);
printf("标准差为%.4f", s);
break;
case 6:
printf("输入6个数字计算平均值,方差,标准差\n");
scanf("%lf %lf %lf %lf %lf %lf", &x1, &x2, &x3, &x4, &x5, &x6);
total = (x1 + x2 + x3 + x4 + x5 + x6);
average = total / 6;
printf("平均数为%.4f\n", average);
total1 = (x1 - average) * (x1 - average) + (x2 - average) * (x2 - average) + (x3 - average) * (x3 - average) + (x4 - average) * (x4 - average) + (x5 - average) * (x5 - average) + (x6 - average) * (x6 - average);
ss = total1 / 6;
printf("方差为%.4f\n", ss);
s = sqrt(ss);
printf("标准差为%.4f", s);
break;
case 7:
printf("输入7个数字计算平均值,方差,标准差\n");
scanf("%lf %lf %lf %lf %lf %lf %lf", &x1, &x2, &x3, &x4, &x5, &x6, &x7);
total = (x1 + x2 + x3 + x4 + x5 + x6 + x7);
average = total / 7;
printf("平均数为%.4f\n", average);
total1 = (x1 - average) * (x1 - average) + (x2 - average) * (x2 - average) + (x3 - average) * (x3 - average) + (x4 - average) * (x4 - average) + (x5 - average) * (x5 - average) + (x6 - average) * (x6 - average) + (x7 - average) * (x7 - average);
ss = total1 / 7;
printf("方差为%.4f\n", ss);
s = sqrt(ss);
printf("标准差为%.4f", s);
break;
case 8:
printf("输入8个数字计算平均值,方差,标准差\n");
scanf("%lf %lf %lf %lf %lf %lf %lf %lf", &x1, &x2, &x3, &x4, &x5, &x6, &x7, &x8);
total = (x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8);
average = total / 8;
printf("平均数为%.4f\n", average);
total1 = (x1 - average) * (x1 - average) + (x2 - average) * (x2 - average) + (x3 - average) * (x3 - average) + (x4 - average) * (x4 - average) + (x5 - average) * (x5 - average) + (x6 - average) * (x6 - average) + (x7 - average) * (x7 - average) + (x8 - average) * (x8 - average);
ss = total1 / 8;
printf("方差为%.4f\n", ss);
s = sqrt(ss);
printf("标准差为%.4f", s);
break;
}
return 0;
}
“对于该程序,程序设计人员可以对内容进行改善,具体情况具体设计”
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
