注意事项:

①第一行输出位数,记得加换行符。

②第二行最后的数字后面没有空格,也就是说不能循环“%d+空格“输出。输出最后一个数字以后记得加换行符。
③第三行一位一位倒序输出读入的数字,并不是算出倒序后的整数输出。

例如,读入12345

第三行应该输出:54321(五四三二一)

而不是输出:54321(五万四千三百二十一)

参考代码:

非最优解,仅供参考。

#include <stdio.h>

int main()
{
    int tmp = 0, i = 0, j = 0;
    int number[5];
    scanf("%d", &tmp);
    while (1)
    {
        if (tmp / 10 > 0)
        {
            number[i++] = tmp % 10;
            tmp /= 10;
        }
        else
        {
            number[i++] = tmp;
            break;
        }
    }
    printf("%d\n", i);
    for (j = i - 1; j >= 0; --j)
    {
        if (j == i - 1)
            printf("%d", number[j]);
        else
            printf(" %d", number[j]);
    }
    printf("\n");
    for (j = 0; j < i; ++j)
        printf("%d", number[j]);
    return 0;
}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论