C语言,将前15个大于0的整数存放在一维数组中,并按每行5个数的格式输出。
时间: 2024-11-17 08:29:18 浏览: 0
在C语言中,你可以使用动态内存分配来创建一个足够大的一维数组存储前15个大于0的整数,并通过循环结构来填充数据。然后,可以使用嵌套循环以每行5个数的格式打印出来。以下是实现这个功能的一个示例:
```c
#include <stdio.h>
#include <stdlib.h>
#define ROWS 3 // 每行显示5个数字,所以总共有3行
#define COLS 5
int main() {
int* arr; // 定义一个一维数组
int count = 0, num;
// 动态分配数组空间
arr = (int*)malloc(ROWS * COLS * sizeof(int));
if (!arr) { // 如果内存分配失败
printf("Memory allocation failed.\n");
return 1;
}
while (count < 15 && scanf("%d", &num) == 1 && num > 0) { // 输入15个正整数
arr[count] = num;
count++;
}
// 打印数组内容,每行5个数
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS && i * COLS + j < count; j++) {
printf("%d ", arr[i * COLS + j]);
}
printf("\n"); // 每行结束换行
}
// 释放内存
free(arr);
return 0;
}
```
在这个程序中,用户会被提示输入15个大于0的整数,然后它们会被存储在一维数组中并按照指定格式输出。如果输入了非正整数,或者超过15个,则不会被添加到数组中。
阅读全文