本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。
输入格式:输入在一行中给出一个长整型范围内的非负整数。
输出格式:从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格。(这里提供两种方法)
一:
#include<stdio.h>
#include<math.h>
int main(void)
{
int num,n,b,a,e;
scanf("%d",&num);
if(num == 0)
printf("0 ");
e = num;
n = 0;
while(num != 0){
num = num/10;
n++;
}
for(;n >= 1;n--){
a = pow(10,n-1);
b = e/a;
switch(b){
case 0:printf("0 ");break;
case 1:printf("1 ");break;
case 2:printf("2 ");break;
case 3:printf("3 ");break;
case 4:printf("4 ");break;
case 5:printf("5 ");break;
case 6:printf("6 ");break;
case 7:printf("7 ");break;
case 8:printf("8 ");break;
case 9:printf("9 ");break;
}
e = e - (b*a);
}
return 0;
}
二:
#include<stdio.h>
int main(void)
{
char c;
c=getchar();
while(c!='\n'){
if(c=='0') printf("0 ");
else if(c=='1') printf("1 ");
else if(c=='2') printf("2 ");
else if(c=='3') printf("3 ");
else if(c=='4') printf("4 ");
else if(c=='5') printf("5 ");
else if(c=='6') printf("6 ");
else if(c=='7') printf("7 ");
else if(c=='8') printf("8 ");
else if(c=='9') printf("9 ");
c=getchar();
}
return 0;
}