用c语言从键盘输入十个整数,输出最小值,输入的时候每个数字间隔一个空格
时间: 2024-12-02 08:13:29 浏览: 69
在C语言中,你可以通过循环结构来获取用户的输入,并使用变量存储每次输入的最小值。以下是一个简单的程序示例,让用户输入十个整数,同时保持当前已输入数中的最小值:
```c
#include <stdio.h>
#include <limits.h> // 包含INT_MIN,用于初始化最小值
int main() {
int numbers[10], min_num = INT_MAX; // 初始化数组和最小值为整型最大值
int count = 0;
// 循环获取用户输入,直到输入十个整数为止
while (count < 10) {
char input[20];
printf("请输入第%d个整数(空格分隔): ", count + 1);
fgets(input, sizeof(input), stdin); // 读取一行输入,包括空格
input[strcspn(input, "\n")] = '\0'; // 去掉换行符
// 尝试将输入转换成整数,如果失败则提示用户输入错误
int num;
sscanf(input, "%d", &num);
if (num == -1 || num > INT_MAX || num < INT_MIN) {
printf("输入错误,请输入一个整数。\n");
continue;
}
// 更新最小值
if (num < min_num) {
min_num = num;
}
numbers[count++] = num; // 存储到数组中
}
// 输出最小值
printf("这十个数中的最小值是: %d\n", min_num);
return 0;
}
```
在这个程序中,我们使用`fgets`读取用户的输入,然后用`sscanf`尝试将其转换为整数。如果转换成功且数值在整型范围之内,我们就更新最小值。最后,遍历数组输出最小值。
阅读全文