从高位逐位分割整数 输入一个整数,从高位开始逐位分割并输出它的各位数字

#include<stdio.h>
void main()
{

int i,n, a[20];
printf("Input number: ");
scanf("%d", &n);
for(i=0; n; i++, n /= 10)
a[i] = n%10;
for(i--; i>=0; i--)
printf("%d ", a[i]);
}

以上的程序在输入0时没有输出
怎麼改成输入0时输出0呢?
求大神 跪谢

添加一个判断条件,当输入为0时,直接输出0就行了。追问

谢谢您..能具体说说在哪句加上么..
是用if else么?
能麻烦您具体写下代码么......
之前自己写了下运行的时候卡死了..

追答

#include
void main()
{

int i,n, a[20];
printf("Input number: ");
scanf("%d", &n);
if(n==0)
printf("0");
else{
for(i=0; n; i++, n /= 10)
a[i] = n%10;
for(i--; i>=0; i--)
printf("%d ", a[i]);
}
}
这样就行了

温馨提示:答案为网友推荐,仅供参考
相似回答