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;
}



posted on 2017-04-20 22:12  海岛Blog  阅读(426)  评论(0编辑  收藏  举报

导航