用c语言数组编写程序。从键盘上输入10个数存入一 维数组中,然后按逆序输出。
时间: 2025-01-27 15:13:11 浏览: 55
要使用 C 语言编写程序,首先你需要包含头文件 `stdio.h` 用于输入/输出操作,以及 `stdlib.h` 或 `malloc.h`(取决于是否使用动态内存分配)。下面是完成这个任务的完整代码:
```c
#include <stdio.h>
#define SIZE 10
int main() {
// 动态内存分配,如果不需要动态扩展,请注释掉 malloc 并改为 int numbers[SIZE];
int* numbers = (int*)malloc(SIZE * sizeof(int));
if (!numbers) { // 检查内存分配是否成功
printf("Memory allocation failed.\n");
return 1;
}
// 从键盘输入10个数并存储到数组中
for (int i = 0; i < SIZE; i++) {
printf("Enter number %d: ", i + 1);
scanf("%d", &numbers[i]);
}
// 逆序输出数组中的数字
printf("Numbers in reverse order:\n");
for (int i = SIZE - 1; i >= 0; i--) {
printf("%d ", numbers[i]);
}
// 释放内存
free(numbers);
return 0;
}
```
在这个程序中,我们定义了一个大小为 `SIZE` 的整数数组,通过循环从键盘接收用户输入并将这些值存储到数组中。然后,我们再使用另一个循环从数组末尾开始倒序输出。
如果你不打算动态分配内存,可以直接创建固定大小的数组,例如:
```c
// 如果不需要动态扩展,替换为以下行
// int* numbers = (int*)malloc(SIZE * sizeof(int));
int numbers[SIZE]; // 使用数组声明
```
运行此程序后,请确保正确关闭控制台输入流,否则可能会导致数据溢出或干扰后续输入。可以添加 `getchar()` 来处理这个问题:
```c
scanf("%d", &numbers[i]); // 原来这里
/* 添加 */
getchar(); // 关闭输入流
```
阅读全文
相关推荐















