输入一个整数,从高位开始逐位分割并输出各位数字。
输入一个正整数n,n是int型数据
依次输出各位上的数字,每一个数字后面有一个空格,输出占一行。例如,输入 12345
,输出 1 2 3 4 5
#include<stdio.h>
#include<math.h>
int main()
{
int n, ws;
scanf("%d", &n);
ws=(int)log10(n)+1;
switch(ws)
{
case 9: printf("%d ",(int)n/pow(10,ws-1));n=n%(int)pow(10,ws-1);
case 8: printf("%d ",(int)n/pow(10,ws-1));n=n%(int)pow(10,ws-1);
case 7: printf("%d ",(int)n/pow(10,ws-1));n=n%(int)pow(10,ws-1);
case 6: printf("%d ",(int)n/pow(10,ws-1));n=n%(int)pow(10,ws-1);
case 5: printf("%d ",(int)n/pow(10,ws-1));n=n%(int)pow(10,ws-1);
case 4: printf("%d ",(int)n/pow(10,ws-1));n=n%(int)pow(10,ws-1);
case 3: printf("%d ",(int)n/pow(10,ws-1));n=n%(int)pow(10,ws-1);
case 2: printf("%d ",(int)n/pow(10,ws-1));n=n%(int)pow(10,ws-1);
case 1: printf("%d ",(int)n/pow(10,ws-1));
printf("\n");
return 0;
}
}
这样写为什么不对呀,求解释。。。。