从键盘上输入最多100个比较小的整数,以Ctrl+Z结束,输出其中的最大值和最小值。用c语言
时间: 2024-09-20 18:06:09 浏览: 47
c#输出10个数的最大值、最小值、平均值和总和。.rar
在C语言中,你可以使用`fgets()`函数从标准输入读取用户输入的整数,并用`atoi()`函数将其转换为整数。这里是一个简单的示例程序,它会接收直到遇到`Ctrl+Z`为止的整数,然后计算并打印最大值和最小值:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int max = INT_MIN; // 初始化最大值为整型最小值
int min = INT_MAX; // 初始化最小值为整型最大值
char input[100]; // 存储输入的数组
while (fgets(input, sizeof(input), stdin)) { // 读取直到换行符
if (input[strlen(input) - 1] == '\0') break; // 检查是否为Ctrl+Z
int num = atoi(input); // 转换为整数
if (num > max) {
max = num;
} else if (num < min) {
min = num;
}
}
printf("最大值: %d\n", max);
printf("最小值: %d\n", min);
return 0;
}
```
在这个程序中,我们不断地读取用户的输入,直到遇到换行符(通常表示用户按下Enter键)。如果最后一个字符是`\0`,我们知道这是`Ctrl+Z`的ASCII码,所以跳出循环。
注意,这个程序假设用户不会输入超过`sizeof(input)`大小的数值,以及不会有负数溢出的情况。在实际应用中,你可能需要添加更多的错误检查和处理。
阅读全文