C语言基础:条件语句与分支控制实例解析

文章目录


一、计算一元一次函数的值

1. 一元一次函数的计算方法

1.有一个函数:

y=x (x<1)

y=2x-1 (1<=x<10)

y =3x-11 (x>=10)

编写程序,输入 xx 的值,输出对应的 yy 值。例如,如果 x=−1x=−1,则输出结果为 f(−1)=−1f(−1)=−1。

1.1.1方法一:使用 if 语句实现

c 复制代码
#include <stdio.h>

int main() {
    int x, y;
    scanf_s("%d", &x);
    if (x < 1) {
        y = x;
        printf("f(%d)=%d", x, y);
    } else if (1 <= x && x < 10) {
        y = 2 * x - 1;
        printf("f(%d)=%d", x, y);
    } else {
        y = 3 * x - 11;
    }
    return 0;
}

1.1.2方法二:使用 switch 语句实现

c 复制代码
#include <stdio.h>

int main() {
    int x;
    scanf_s("%d", &x);
    switch (x > 1) {
        case 1:
            if (x < 10) printf("f(%d)=%d", x, 2 * 2 - 1);
            else printf("f(%d)=%d", x, 3 * x - 11);
            break; 
        case 0:
            printf("f(%d)=%d", x, x);
            break;
    }
    return 0;
}

这两种方法都可以有效地根据输入的 xx 值计算出对应的 yy 值,并输出结果。第一种方法使用 if-else 结构,逻辑清晰,易于理解。第二种方法尝试使用 switch 语句,但需要注意 switch 语句的条件表达式和 break 语句的使用,以避免逻辑错误。

二、成绩等级判定程序

程序功能: 该程序用于根据用户输入的分数,判定并输出相应的成绩等级。

输入:用户输入的分数(整数)。

输出:根据分数判定的成绩等级。

c 复制代码
#include <stdio.h>

int main() {
    int score;
    printf("请输入分数: ");
    scanf_s("%d", &score);
    switch (score / 10) {
        case 10:
        case 9:
            printf("成绩等级: 优\n");
            break;
        case 8:
            printf("成绩等级: 良\n");
            break;
        case 7:
            printf("成绩等级: 中\n");
            break;
        case 6:
            printf("成绩等级: 及格\n");
            break;
        default:
            printf("成绩等级: 差\n");
            break;
    }
    return 0;
}

三、找出三个数中的最大值

1. 比较并确定最大值

程序功能:

该程序用于找出用户输入的三个整数中的最大值。

输入:用户输入的三个整数。

输出:三个数中的最大值。

c 复制代码
#include <stdio.h>

int main() {
    int a, b, c,max_ab;
    printf("请输入三个数:\n");
    scanf_s("%d %d %d", &a, &b, &c);  // 获取三个整数输入

    switch (a > b) {
        case 1:
            max_ab = a;
            break;
        case 0:
            max_ab = b;
            break;
    }

    switch (max_ab > c) {
        case 1:
            printf("最大值是:%d\n", max_ab);
            break;
        case 0:
            printf("最大值是:%d\n", c);
            break;
    }

    return 0;
}

说明:

程序首先提示用户输入三个整数。

第一个 switch 语句比较前两个数 a 和 b,并将较大的数赋值给 max_ab。

第二个 switch 语句将 max_ab 与第三个数 c 进行比较,确定并输出三个数中的最大值。

这种方法通过两次比较,有效地找出了三个数中的最大值,并将其输出。

相关推荐
朝新_1 小时前
【多线程初阶】阻塞队列 & 生产者消费者模型
java·开发语言·javaee
立莹Sir2 小时前
Calendar类日期设置进位问题
java·开发语言
风逸hhh2 小时前
python打卡day46@浙大疏锦行
开发语言·python
火兮明兮3 小时前
Python训练第四十三天
开发语言·python
ascarl20104 小时前
准确--k8s cgroup问题排查
java·开发语言
fpcc4 小时前
跟我学c++中级篇——理解类型推导和C++不同版本的支持
开发语言·c++
莱茵菜苗5 小时前
Python打卡训练营day46——2025.06.06
开发语言·python
爱学习的小道长5 小时前
Python 构建法律DeepSeek RAG
开发语言·python
luojiaao5 小时前
【Python工具开发】k3q_arxml 简单但是非常好用的arxml编辑器,可以称为arxml杀手包
开发语言·python·编辑器
终焉代码5 小时前
STL解析——list的使用
开发语言·c++