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

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

相关推荐
我命由我1234512 分钟前
Kotlin 开发 - lateinit 关键字
android·java·开发语言·kotlin·android studio·android-studio·android runtime
Halo_tjn16 分钟前
Java Set集合相关知识点
java·开发语言·算法
许彰午35 分钟前
我手写了一个 Java 内存数据库(二):B+ 树的插入与分裂
java·开发语言·面试
大飞记Python1 小时前
【2026更新】Python基础学习指南(AI版)——04数据类型
开发语言·人工智能·python
Alice-YUE2 小时前
【js高频八股】防抖与节流
开发语言·前端·javascript·笔记·学习·ecmascript
云泽8082 小时前
C++11 核心特性全解:列表初始化、右值引用与移动语义实战
开发语言·c++
froginwe112 小时前
DOM 加载函数
开发语言
Hello eveybody2 小时前
介绍一下背包DP(Python)
开发语言·python·动态规划·dp·背包dp
AI进化营-智能译站2 小时前
ROS2 C++开发系列12-用多态与虚函数构建可扩展的ROS2机器人行为模块
开发语言·c++·ai·机器人
iCxhust2 小时前
微机原理实践教程(C语言篇)---A002流水灯
c语言·开发语言·单片机·嵌入式硬件·51单片机·课程设计·微机原理