如何将用户输入的正整数分解为单个数字并存储在一个一维数组中,然后按逆序顺序显示这个数组中的每个元素?
时间: 2024-12-15 14:30:13 浏览: 10
第7章 数组(C语言)
在C语言中,可以使用循环和临时变量来实现这一功能。假设用户输入的是一个四位及以内的一位数字组成的正整数,你可以这样做:
```c
#include <stdio.h>
#include <string.h> // 需要包含此头文件以获取strlen函数
#define ARRAY_SIZE 4 // 数组的最大尺寸,假设不超过四位数
int main() {
char input[ARRAY_SIZE+1]; // 存储用户输入的字符串
int digit_array[ARRAY_SIZE] = {0}; // 一维数组来存储单个数字
int num, index = 0;
printf("请输入一个四位及以内的正整数: ");
fgets(input, sizeof(input), stdin); // 使用fgets防止回车字符进入数组
input[strcspn(input, "\n")] = '\0'; // 清除换行符
// 将字符串逆序转换为单个数字并存储到数组
for (num = strlen(input) - 1; num >= 0; num--) {
digit_array[index++] = input[num] - '0'; // 减去 '0' 转换为整数
}
// 逆序打印数组中的元素
printf("逆序的数字数组: ");
for (index--; index >= 0; index--) {
printf("%d ", digit_array[index]);
}
printf("\n");
return 0;
}
```
在这个程序中,我们首先读取用户的输入,然后将其逆序处理,把每一位的字符减去ASCII码'0',得到对应的整数值,并存储在数组`digit_array`中。最后再逆序遍历数组,显示每个元素。
阅读全文