输出一个整数各个数位上的数字的c++程序
时间: 2023-09-08 12:01:19 浏览: 152
以下是一个输出一个整数各个数位上的数字的C程序:
```c
#include <stdio.h>
void printDigits(int num) {
if (num == 0) { // 如果输入为0,则直接输出0
printf("%d", num);
return;
}
int digits[10]; // 创建一个数组存储各个数位上的数字
int count = 0; // count 用于计数数字的总位数
if (num < 0) { // 处理负数,将其转为正数处理
num = -num;
printf("-");
}
while (num > 0) {
digits[count] = num % 10; // 将最后一位数字存入数组
num = num / 10; // 删除最后一位数字
count++; // 数字总位数增加
}
for (int i = count - 1; i >= 0; i--) {
printf("%d", digits[i]); // 逆序输出每个位上的数字
}
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
printf("各个数位上的数字为:");
printDigits(num);
return 0;
}
```
以上程序会首先询问用户输入一个整数,并将输入的整数传递给 `printDigits` 函数进行处理。`printDigits` 函数中,首先会处理输入的整数是否为0或负数,并对负数进行特殊处理。然后,通过取余和除法操作将各个数位上的数字存储到数组 `digits` 中。最后,通过一个循环逆序输出各个数位上的数字。
例如,如果用户输入整数 `12345`,程序会输出:
```
各个数位上的数字为:12345
```
又如,如果用户输入整数 `-9876`,程序会输出:
```
各个数位上的数字为:-9876
```
阅读全文