PTA 中M22秋C、Java入门练习 7-37 输出整数各位数字
本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。
输入格式:
输入在一行中给出一个长整型范围内的非负整数。
输出格式:
从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格。
输入样例:
123456
输出样例:
1 2 3 4 5 6
代码长度限制 16 KB
时间限制 400 ms
内存限制 64 MB
#include<stdio.h>
int main(){
int i,a[30];
long long int n;
scanf("%ld",&n);
if(n==0)printf("0 "); //判断是否为零
for(i=0;n>0;i++){ /*把各个位置存入数组a中*/
a[i]=n%10;
n/=10;
}
for(i-=1;i>=0;i--){ /*按次序依次输出*/
printf("%d ",a[i]);
}
return 0;
}
1.通过数组将输入的数字拆分后的结果保存
2.注意此处的a[0]保存的是个位数,所以输出的时候i要从最大值开始
3.在储存循环之中i的值并非数组中存有有效值的下标,数组从零开始储存,故需要在第二次循环开始之前使i--