C语言基础:条件语句与分支控制实例解析
文章目录
- 一、计算一元一次函数的值
- 1. 一元一次函数的计算方法
- 1.1.1方法一:使用 if 语句实现
- 1.1.2方法二:使用 switch 语句实现
- 二、成绩等级判定程序
- 三、找出三个数中的最大值
- 1. 比较并确定最大值
一、计算一元一次函数的值
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 语句实现
#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 语句实现
#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 语句的使用,以避免逻辑错误。
二、成绩等级判定程序
程序功能: 该程序用于根据用户输入的分数,判定并输出相应的成绩等级。
输入:用户输入的分数(整数)。
输出:根据分数判定的成绩等级。
#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. 比较并确定最大值
程序功能:
该程序用于找出用户输入的三个整数中的最大值。
输入:用户输入的三个整数。
输出:三个数中的最大值。
#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 进行比较,确定并输出三个数中的最大值。
这种方法通过两次比较,有效地找出了三个数中的最大值,并将其输出。