c语言定义一个20个元素整型数组,所有元素初始化为0;从键盘上输入非负数到数组,直到输入负数时或达到20个元素时停止;求出数组中非0元素的最大值,最小值并输出;最后输出数组中所有元素及最大值最小值。
时间: 2024-02-15 21:02:06 浏览: 105
好的,请看下面的 C 代码实现:
```c
#include <stdio.h>
int main() {
int arr[20] = {0}; // 定义一个20个元素整型数组,所有元素初始化为0
int num, max = 0, min = 0; // 定义变量,num为输入的数,max和min分别为最大值和最小值
int i, count = 0; // 定义循环计数器i和已输入的数的个数count
// 从键盘上输入非负数到数组,直到输入负数时或达到20个元素时停止
for (i = 0; i < 20; i++) {
printf("请输入一个非负整数:");
scanf("%d", &num);
if (num < 0) {
break; // 输入负数时跳出循环
}
arr[i] = num;
count++; // 已输入的数的个数加1
// 更新最大值和最小值
if (num > max || i == 0) {
max = num;
}
if (num < min || i == 0) {
min = num;
}
}
// 输出最大值和最小值
printf("数组中非0元素的最大值为:%d\n", max);
printf("数组中非0元素的最小值为:%d\n", min);
// 输出数组中所有元素及最大值最小值
printf("数组中所有元素为:\n");
for (i = 0; i < 20; i++) {
printf("%d ", arr[i]);
}
printf("\n最大值为:%d\n", max);
printf("最小值为:%d\n", min);
return 0;
}
```
运行效果如下:
```
请输入一个非负整数:3
请输入一个非负整数:4
请输入一个非负整数:2
请输入一个非负整数:7
请输入一个非负整数:1
请输入一个非负整数:-2
数组中非0元素的最大值为:7
数组中非0元素的最小值为:1
数组中所有元素为:
3 4 2 7 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
最大值为:7
最小值为:1
```
阅读全文