用c语言编写程序,输入20个整数找出最大正整数,最大负整数,最小正整数,最小负整数
时间: 2024-10-14 21:09:43 浏览: 31
在C语言中,你可以使用数组来存储这20个整数,并通过遍历数组来找到最大、最小的正整数和最大、最小的负整数。以下是简单的步骤:
1. 定义四个变量 `max_positive`, `min_positive`, `max_negative`, 和 `min_negative` 分别初始化为数组的第一个元素,用来保存目前找到的最大正整数、最小正整数、最大负整数和最小负整数。
```c
int numbers[20]; // 假设用户已经输入了这20个整数
int max_positive = numbers[0];
int min_positive = numbers[0];
int max_negative = numbers[0];
int min_negative = numbers[0];
```
2. 使用for循环遍历整个数组,比较每个元素与当前找到的最大值和最小值。
```c
for (int i = 1; i < 20; i++) {
if (numbers[i] > max_positive) {
max_positive = numbers[i];
} else if (numbers[i] < 0 && numbers[i] > max_negative) {
max_negative = numbers[i];
}
if (numbers[i] < 0 && numbers[i] < min_negative) {
min_negative = numbers[i];
} else if (numbers[i] > 0 && numbers[i] < min_positive) {
min_positive = numbers[i];
}
}
```
3. 循环结束后,`max_positive`, `min_positive`, `max_negative`, 和 `min_negative` 就分别包含了最大的正整数、最小的正整数、最大的负整数和最小的负整数。
完整代码示例:
```c
#include <stdio.h>
int main() {
int numbers[20];
for (int i = 0; i < 20; i++) {
scanf("%d", &numbers[i]);
}
int max_positive = numbers[0];
int min_positive = numbers[0];
int max_negative = numbers[0];
int min_negative = numbers[0];
for (int i = 1; i < 20; i++) {
if (numbers[i] > max_positive) {
max_positive = numbers[i];
} else if (numbers[i] < 0 && numbers[i] > max_negative) {
max_negative = numbers[i];
}
if (numbers[i] < 0 && numbers[i] < min_negative) {
min_negative = numbers[i];
} else if (numbers[i] > 0 && numbers[i] < min_positive) {
min_positive = numbers[i];
}
}
printf("最大正整数: %d\n", max_positive);
printf("最小正整数: %d\n", min_positive);
printf("最大负整数: %d\n", max_negative);
printf("最小负整数: %d\n", min_negative);
return 0;
}
```
阅读全文