选择结构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;
}

“对于该程序,程序设计人员可以对内容进行改善,具体情况具体设计”


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部