用c语言编写程序从输入的三个数中找出最大值和最小值
时间: 2024-02-13 11:00:14 浏览: 78
好的,以下是用C语言编写的程序,可以从输入的三个数中找出最大值和最小值:
```c
#include <stdio.h>
int main() {
int a, b, c;
printf("请输入三个数,用空格隔开:");
scanf("%d %d %d", &a, &b, &c);
int max = a, min = a;
if (b > max) {
max = b;
}
if (c > max) {
max = c;
}
if (b < min) {
min = b;
}
if (c < min) {
min = c;
}
printf("最大值为:%d\n", max);
printf("最小值为:%d\n", min);
return 0;
}
```
程序中使用了 `scanf` 函数来从用户输入中读取三个整数,然后使用 `if` 语句和比较运算符来比较它们之间的大小,找出最大值和最小值,并输出结果。
相关问题
C语言 输入10个整数,计算出平均值,找出其中的最大值和最小值,并将三者输出
以下是使用C语言编写的程序,可以输入10个整数,计算平均值,找到最大值和最小值,并将它们输出:
```c
#include <stdio.h>
int main() {
int num[10];
int sum = 0;
int max = 0;
int min = 0;
printf("请输入10个整数:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &num[i]);
sum += num[i];
if (i == 0) {
max = num[i];
min = num[i];
} else {
if (num[i] > max) {
max = num[i];
}
if (num[i] < min) {
min = num[i];
}
}
}
float avg = (float)sum / 10;
printf("平均值为: %.2f\n", avg);
printf("最大值为: %d\n", max);
printf("最小值为: %d\n", min);
return 0;
}
```
程序首先创建一个整数数组`num`来存储输入的10个整数。然后使用`for`循环读取输入的10个整数,并计算它们的总和。在循环过程中,使用`if`语句来找到最大值和最小值。如果当前数字是第一个数字,则将最大值和最小值都设置为该数字。对于后续数字,如果它比当前的最大值大,则将最大值更新为该数字;如果它比当前的最小值小,则将最小值更新为该数字。
最后,程序计算平均值,并使用`printf()`函数将平均值、最大值和最小值输出到控制台。`%.2f`表示将浮点数保留两位小数输出,`%d`表示输出整数。
输入若干的整数(整数大小均在[-1000000,1000000]范围内),找出其中的最大值和最小值,计算最大值-最小值并输出。考虑使用while(scanf("%d",&num)!=EOF),c语言编写该程序。
### 回答1:
可以使用如下代码实现:
```c
#include <stdio.h>
int main() {
int num, max = -1000001, min = 1000001;
while (scanf("%d", &num) != EOF) {
if (num > max) {
max = num;
}
if (num < min) {
min = num;
}
}
printf("%d", max - min);
return 0;
}
```
首先,我们定义了三个变量,其中num用于读入每个整数,max和min分别用于记录最大值和最小值。初始时,我们将max设为一个较小的值,将min设为一个较大的值。
接着,我们通过while循环不断读入整数,直到读到文件结尾(EOF)。在循环内部,我们判断当前读入的数是否大于max,如果是,则更新max。同样地,如果当前读入的数小于min,则更新min。
最后,我们计算max和min之间的差值,并输出结果。
### 回答2:
输入若干的整数(整数大小均在[-1000000,1000000]范围内),找出其中的最大值和最小值,计算最大值-最小值并输出。考虑使用while(scanf("%d",&n)!=EOF)结构循环接收输入。
```c
#include <stdio.h>
int main() {
int n;
int max = -1000000;
int min = 1000000;
while(scanf("%d", &n) != EOF) {
if(n > max) {
max = n;
}
if(n < min) {
min = n;
}
}
int diff = max - min;
printf("最大值:%d\n", max);
printf("最小值:%d\n", min);
printf("最大值-最小值:%d\n", diff);
return 0;
}
```
该程序使用了一个while循环结构,通过不断接收输入整数,将每次输入的值与当前最大值和最小值进行比较,更新最大值和最小值。循环直到输入结束,即遇到文件结束符(EOF)为止。最后,计算出最大值-最小值,并输出结果。
### 回答3:
要实现输入若干整数,并找出其中的最大值和最小值,可以使用while循环结合scanf函数来实现。
首先,声明一个变量来存储输入的整数,通过scanf函数来获取输入的整数。使用while循环,判断scanf函数的返回值是否为1,如果返回1说明成功读取一个整数,进入循环体执行下一步操作,否则退出循环。
在循环体中,可以设置两个变量max和min来分别表示最大值和最小值的初始值,可以将初始值设置为范围之外的较大和较小的数,比如将max初始化为-1000001,min初始化为1000001。
在每次读取到一个整数时,可以使用if条件判断语句来更新max和min的值,如果读取到的整数大于max,则将max更新为该整数,如果读取到的整数小于min,则将min更新为该整数。
当循环结束后,即表示已经读取完所有整数。此时可以计算最大值-最小值并输出结果,计算过程可以使用一个变量diff来存储最大值和最小值的差值,即diff = max - min。
最后使用printf函数输出结果diff即可。
示例代码如下:
```c
#include <stdio.h>
int main() {
int num;
int max = -1000001;
int min = 1000001;
while (scanf("%d", &num) == 1) {
if (num > max) {
max = num;
}
if (num < min) {
min = num;
}
}
int diff = max - min;
printf("%d\n", diff);
return 0;
}
```
这样就可以实现输入若干整数,找出其中的最大值和最小值,计算最大值-最小值并输出结果。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)