用c语言编码如何第一行输入n,第二行输入n个正整数,输出n个数中最小正整数
时间: 2024-10-21 20:05:04 浏览: 134
在C语言中,你可以通过使用标准输入流`scanf()`函数和条件语句`if...else`来实现这个功能。下面是一个简单的示例程序:
```c
#include <stdio.h>
int main() {
int n;
// 第一行输入n
printf("请输入正整数的数量(n):");
scanf("%d", &n);
if (n <= 0) { // 检查输入是否有效
printf("错误:请输入一个正整数。\n");
return 1; // 结束程序并返回非零值表示错误
}
int numbers[n];
int min_num = INT_MAX; // 初始化最小数为最大整数
// 第二行输入n个正整数
for (int i = 0; i < n; i++) {
printf("请输入第 %d 个数:", i + 1);
scanf("%d", &numbers[i]);
// 更新最小数
if (numbers[i] > 0 && numbers[i] < min_num) {
min_num = numbers[i];
}
}
// 输出最小正整数
if (min_num != INT_MAX) {
printf("最小的正整数是:%d\n", min_num);
} else {
printf("没有输入到正整数。\n");
}
return 0; // 程序正常结束
}
```
在这个程序中,我们首先读取用户输入的整数n,然后检查其有效性。接着,我们创建一个大小为n的数组,并遍历这个数组,同时更新最小的正整数。最后,如果找到了最小正整数,就将其打印出来。
阅读全文