CCF NOI1020 数字识别
问题链接:CCF NOI1020 数字识别。
时间限制:
1000 ms 空间限制: 262144 KB
题目描述
输入一个不多于四位的正整数,求出它是几位数,并分别打印出各位上的数字。
输入
输入一个不多于四位的正整数x。
输出
第一行输出x的位数num,接下来num行从高位到低位输出x的每一位上的数字。
样例输入
123
样例输出
3
1
2
3
数据范围限制
1<=x<=9999
问题分析
这个问题是根据输入整数值,计算其位数,同时计算各个位并且从高位到低位顺序输出。
取出整数的各个位,用除10取余的办法是比较方便的,但是顺序是从低位到高位的顺序取出的,所以有必要先存储在数组中备用。
程序说明
(略)
要点详解- 复杂问题分步计算的话,每一步通常都十分简单。
100分通过的C语言程序:
#include <stdio.h>
#define N 4
int main(void)
{
int val, ans[N], len, i;
scanf("%d", &val);
len = 0;
while(val) {
ans[len++] = val % 10;
val /= 10;
}
printf("%d\n", len);
for(i=len-1; i>=0; i--)
printf("%d\n", ans[i]);
return 0;
}
浙公网安备 33010602011771号