编写程序,打印三个数中的最大值
#include <stdio.h>
// 任务3:打印三个数的最大值
void printFunc(int a, int b, int c) {
// 先假设a是最大值
int max = a;
// 比较b和当前max,更新最大值
if (b > max) {
max = b;
}
// 比较c和当前max,更新最大值
if (c > max) {
max = c;
}
// 打印结果
printf("三个数的最大值是:%d\n", max);
}
// 原有函数(任务1、任务2)
void getSum(int n) {
int sum = 0;
for (int i = 1; i <= n; i++) {
sum += i;
}
printf("1到%d的累加和是:%d\n", n, sum);
}
void printFunc(int n) { // 注意:C语言不支持函数重载,这里和任务3的printFunc同名会报错,实际需改名(比如printMulTable)
if (n < 2 || n > 9) {
printf("输入错误!请输入2-9之间的整数。\n");
return;
}
printf("===== %d的乘法表 =====\n", n);
for (int i = 1; i <= n; i++) {
printf("%d × %d = %d\n", n, i, n * i);
}
}
// 主函数(测试)
int main() {
getSum(4); // 任务1:计算1+2+3+4,输出累加和
// printFunc(9); // 任务2:打印9的乘法表(需先修改函数名避免冲突)
printFunc(2,3,1); // 任务3:输入2、3、1,输出最大值3
return 0;
}
关键说明:
- 函数逻辑:
printFunc(int a, int b, int c)通过 “假设最大值→依次比较更新” 的方式,找到三个数中的最大值并打印; - 注意点:C 语言不支持函数重载(同名函数参数不同),所以任务 2 的 “打印乘法表” 函数需改名(比如改为
printMulTable),否则会编译报错; - 测试效果:调用
printFunc(2,3,1)时,会输出三个数的最大值是:3。