PTA 翁恺 7-37 输出整数各位数字
本题要求编写程序,对输入的一个整数,从高位开始逐位分割并输出它的各位数字。
输入格式:
输入在一行中给出一个长整型范围内的非负整数。
输出格式:
从高位开始逐位输出该整数的各位数字,每个数字后面有一个空格。
输入样例:
123456
结尾无空行
输出样例:
1 2 3 4 5 6
整体思路:
拆数字是一段经典代码, 但略微有瑕疵,0是拆不了的,一定要记得讨论这种特殊情况
整体代码:
#include <stdio.h> #include <math.h> int main (void){ double input = 0; scanf ("%lf",&input); int i = 0,num = 0; int a[20] = {0}; int new_input = input; if (new_input == 0){ printf ("%d ",new_input); return 0; } for (i = 0;i < 20;++i){ if ((input >= pow(10,i))&&(input < pow(10,i+1))) { num = i + 1; } } for (i = 0;i < num;++i){ a[i] = input / pow(10,num - i -1); input = input - a[i] * pow(10,num - i- 1); } for (i = 0;i < num;++i){ printf("%d ",a[i]); } return 0; }
讨论:注意空格

浙公网安备 33010602011771号