本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。
输入格式:
输入在一行中给出一个长整型范围内的非负整数。
输出格式:
从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格。
输入样例:
123456
输出样例:
1 2 3 4 5 6
思路:
对该数字取余,然后用数组从尾到头记录每一位数字,然后再倒序输出数组。
#include <stdio.h>
int main(int argc, char *argv[]) {
long N;
scanf("%ld",&N);
if(N==0)
printf("0 "); //pta有对于0的检测点
else{
int a[10];//数组a记录每一位数字,从尾到头
int i;
for( i=0; N>0;i++)
{
a[i]=N%10;
N=N/10;
}
int n=i-1;//i多加了一位需要减掉,就是数组最后一位的位置。
for(int i=n;i>=0;i--)//倒序输出
printf("%d ",a[i]);
}
}