C语言程序输入一个正整数,分离出各位数字,并保存在一维数组中,逆序输出数组中所有数字。
时间: 2023-09-15 18:20:37 浏览: 256
以下是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语言中,你可以通过以下步骤来输入一个正整数,将其分解成各个位数并存储在一个一维数组中,最后逆序输出这些数字:
1. 首先,创建一个足够大的一维数组来存放每一位数字,因为整数的位数可能是任意的,所以可以预先设定一个足够大的容量,如100,然后动态分配内存。
```c
int num;
int digits[100];
int digit_count = 0;
```
2. 输入正整数,可以用`scanf`函数获取用户输入:
```c
scanf("%d", &num);
```
3. 接下来,将输入的整数转换成字符串,方便后续处理:
```c
char str[100];
itoa(num, str, 10); // 使用itoa函数,注意需要包含stdlib.h库
```
4. 然后遍历字符串,提取每一位数字并存入数组:
```c
for (int i = strlen(str) - 1; i >= 0; i--) {
digits[digit_count++] = str[i] - '0'; // 注意减去字符'0'得到数字
}
```
5. 最后,逆序输出数组中的数字:
```c
for (int i = digit_count - 1; i >= 0; i--) {
printf("%d ", digits[i]);
}
printf("\n");
```
C语言解决输入一个正整数n(1<n<=10),再输入n个整数,编写程序将一维数组中的数按逆序重新存放并输出,程序中不使用辅助数组。
可以借助中间变量实现交换数组元素的逆序操作,具体实现如下:
```c
#include <stdio.h>
int main() {
int n, i, temp;
printf("请输入正整数n(1<n<=10):");
scanf("%d", &n);
int a[n];
printf("请输入%d个整数:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
for (i = 0; i < n/2; i++) {
temp = a[i];
a[i] = a[n-1-i];
a[n-1-i] = temp;
}
printf("逆序后的数组为:\n");
for (i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
程序首先读入正整数n和n个整数,然后通过循环将数组中的元素逆序交换,最后输出逆序后的数组。需要注意的是,循环次数应该只执行数组长度的一半,否则会导致数组交换的重复。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044833.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![](https://img-home.csdnimg.cn/images/20250102104920.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://img-home.csdnimg.cn/images/20250102104920.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)