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

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

相关推荐
fouryears_234172 小时前
Flutter InheritedWidget 详解:从生命周期到数据流动的完整解析
开发语言·flutter·客户端·dart
我好喜欢你~2 小时前
C#---StopWatch类
开发语言·c#
lifallen4 小时前
Java Stream sort算子实现:SortedOps
java·开发语言
IT毕设实战小研4 小时前
基于Spring Boot 4s店车辆管理系统 租车管理系统 停车位管理系统 智慧车辆管理系统
java·开发语言·spring boot·后端·spring·毕业设计·课程设计
cui__OaO5 小时前
Linux软件编程--线程
linux·开发语言·线程·互斥锁·死锁·信号量·嵌入式学习
鱼鱼说测试6 小时前
Jenkins+Python自动化持续集成详细教程
开发语言·servlet·php
艾莉丝努力练剑6 小时前
【洛谷刷题】用C语言和C++做一些入门题,练习洛谷IDE模式:分支机构(一)
c语言·开发语言·数据结构·c++·学习·算法
CHEN5_026 小时前
【Java基础面试题】Java基础概念
java·开发语言
Cx330❀8 小时前
【数据结构初阶】--排序(五):计数排序,排序算法复杂度对比和稳定性分析
c语言·数据结构·经验分享·笔记·算法·排序算法
杜子不疼.8 小时前
《Python学习之字典(一):基础操作与核心用法》
开发语言·python·学习