输入若干的整数(整数大小均在[-1000000,1000000]范围内),找出其中的最大值和最小值,计算最大值-最小值并输出。考虑使用while(scanf("%d",&num)!=EOF),c语言编写该程序。
时间: 2023-09-09 11:05:34 浏览: 185
### 回答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;
}
```
这样就可以实现输入若干整数,找出其中的最大值和最小值,计算最大值-最小值并输出结果。
阅读全文