#include
#include
#include
int main(int argc, char ** argv) {
void print_num(long number);
print_num(123456);
return 1;
}
void print_num(long number) {
int digits = floor(log10(abs(number))) + 1; // 求整数的位数
int array[digits];
int i = digits - 1;
while (number) { // 提取各位数字(个位开始),存于数组中
array[i] = number % 10;
number /= 10;
i--;
}
for (i = 0; i < digits; i++) { // 从数组中打印出数字
if (i == digits - 1)
printf("%d", array[i]); // 最后一个数字不需要逗号分隔
else
printf("%d, ", array[i]);
}
}
输出结果为:
数的分解问题
建立一个链表存每位数
建立循环:每次求10的余数,得到当前位,再除10取整
得到的链表是倒序的,你只要倒序输出就好了
除以10000,取余,再除以1000,取余,以此类推。