儿童节那天,调皮捣蛋的小宋,小王和小胡一起去你家要糖果,此时,他们的口袋里分别有 a, b, c 颗糖果。为了公平起见,你决定给他们一些糖果,使三人的糖果数量一致。 请问你最少要给多少颗糖果才能使三人的糖果数量一致? 用C语言怎么写
时间: 2024-10-21 17:08:19 浏览: 26
为了使三个人的糖果数量一致,你需要找出他们三人糖果数量的最大值,因为这是你最少需要提供的糖果数,这样才能使得每个人都能拥有最多的糖果。这个最大值就是a、b、c三个数中的最大者。
假设a、b、c分别存储的是小宋、小王和小胡的糖果数,你可以使用C语言的`<stdio.h>`库里的`max`函数或者自定义一个查找最大值的函数来计算:
```c
#include <stdio.h>
// 自定义找到数组中最大值的函数
int findMax(int a, int b, int c) {
return (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);
}
int main() {
int a, b, c;
// 获取每个孩子的糖果数
printf("请输入小宋、小王和小胡的糖果数(a, b, c): ");
scanf("%d %d %d", &a, &b, &c);
// 计算并输出最少需要给予的糖果数
int minCandies = findMax(a, b, c);
printf("最少需要给每人 %d 颗糖果才能使三人的糖果数量一致。\n", minCandies);
return 0;
}
```
在这个程序中,`findMax`函数用于比较并返回最大的糖果数,然后在主函数中调用它并打印结果。
阅读全文