C语言程序输入一个正整数,分离出各位数字,并保存在一维数组中,逆序输出数组中所有数字。
时间: 2023-09-15 21:20:37 浏览: 128
以下是C语言程序的代码:
```c
#include <stdio.h>
int main() {
int num;
printf("请输入一个正整数:");
scanf("%d", &num);
int digits[20]; // 保存数字的数组,最多20位
int i = 0;
while (num > 0) {
digits[i] = num % 10; // 取出最后一位数字
num /= 10; // 去掉最后一位数字
i++;
}
printf("逆序输出数字:");
for (int j = i - 1; j >= 0; j--) { // 从最高位开始输出
printf("%d", digits[j]);
}
printf("\n");
return 0;
}
```
首先,程序提示用户输入一个正整数,并通过`scanf`函数读入该数字。然后,程序定义了一个长度为20的整型数组`digits`来保存分离出的数字,数组的每个元素表示数字的一位(最后一位存在`digits[0]`中)。接下来,程序使用循环将输入的数字分离出每一位,并保存在`digits`数组中。最后,程序使用另一个循环逆序输出`digits`数组中的所有数字。
相关问题
用c语言在一维数组中输入十个整数,逆序输出出来
可以使用以下代码实现:
```c
#include <stdio.h>
int main() {
int arr[10];
int i;
printf("请输入十个整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
printf("逆序输出:\n");
for (i = 9; i >= 0; i--) {
printf("%d ", arr[i]);
}
return 0;
}
```
这段代码首先定义了一个长度为10的整型数组`arr`,然后通过循环输入十个整数。接着,再通过循环逆序输出这十个整数。
将n个整数存放到一维数组中逆序输出
好的,以下是将n个整数存放到一维数组中逆序输出的C语言代码:
```c
#include <stdio.h>
int main() {
int n, arr[100];
printf("请输入整数的个数n:");
scanf("%d", &n);
printf("请输入%d个整数:", n);
for(int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
printf("逆序输出为:");
for(int i = n - 1; i >= 0; i--) {
printf("%d ", arr[i]);
}
return 0;
}
```
代码解释:
1. 首先定义了整数n和一个长度为100的整型数组arr,用来存放输入的n个整数。
2. 通过`scanf`函数获取用户输入的n和n个整数,并将其存放到数组arr中。
3. 通过一个`for`循环,倒序遍历数组arr并输出每个元素即可。
希望我的回答能够解决你的问题!