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 进行比较,确定并输出三个数中的最大值。

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

相关推荐
码农阿豪7 分钟前
Python Flask应用中文件处理与异常处理的实践指南
开发语言·python·flask
岁岁种桃花儿7 分钟前
CentOS7 彻底卸载所有JDK/JRE + 重新安装JDK8(实操完整版,解决kafka/jps报错)
java·开发语言·kafka
csbysj202020 分钟前
AngularJS 模块
开发语言
独好紫罗兰28 分钟前
对python的再认识-基于数据结构进行-a003-列表-排序
开发语言·数据结构·python
wuhen_n35 分钟前
JavaScript内置数据结构
开发语言·前端·javascript·数据结构
不会代码的小测试38 分钟前
UI自动化-POM封装
开发语言·python·selenium·自动化
roman_日积跬步-终至千里44 分钟前
【Java并发】Java 线程池实战:警惕使用CompletableFuture.supplyAsync
java·开发语言·网络
lsx2024061 小时前
C++ 基本的输入输出
开发语言
CodeSheep程序羊1 小时前
拼多多春节加班工资曝光,没几个敢给这个数的。
java·c语言·开发语言·c++·python·程序人生·职场和发展
独好紫罗兰1 小时前
对python的再认识-基于数据结构进行-a002-列表-列表推导式
开发语言·数据结构·python