用C语言,使用二维数组int[4][5]存储键盘输入的二十个整数,将这二十个数中的正整数先按顺序存储于另一个一维数组b[20]中,(先行后列顺序存储),输出b中各元素
时间: 2023-12-25 12:06:00 浏览: 74
c语言+从键盘输入10个无序的整数,存放在数组中,找出数组中最大值与最小值的所在的位置,并输出数组元素所在的位置与数组元素的值
5星 · 资源好评率100%
好的,以下是使用C语言实现的代码:
```c
#include <stdio.h>
int main() {
int a[4][5];
int b[20];
int count = 0;
// 读入二十个整数
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 5; j++) {
scanf("%d", &a[i][j]);
if (a[i][j] > 0) {
b[count++] = a[i][j];
}
}
}
// 输出b中各元素
for (int i = 0; i < count; i++) {
printf("%d ", b[i]);
}
return 0;
}
```
这段代码和Java版的实现思路相同,只是语法有些不同。
首先定义了一个二维数组 `a` 来存储键盘输入的二十个整数,以及一个一维数组 `b` 来存储正整数。使用变量 `count` 来记录 `b` 数组中已经存储了多少个正整数。
然后使用双重循环来读入二十个整数,并且判断它是否为正整数。如果是正整数,就将它存储到 `b` 数组中,并且 `count` 自增。
最后再循环输出 `b` 数组中的元素。注意要使用 `%d` 来输出整数。
阅读全文