【c语言】求整数n的位数、输出各位数字、倒序输出n

Description :

给一个不多于5位的正整数,要求:

  1. 求出它是几位数;

  2. 分别输出每一位数字,例如原数为321,应输出3 2 1。

  3. 按逆序输出各位数字,例如原数为321,应输出123。

Input :

输入一个正整数n(1≤n≤999991≤n≤99999)。

Output :

每次输入对应三行输出。 第一行为一个正整数,表示n的位数。 第二行为若干整数,表示n的每一位数字。要求每两个数字间用空格隔开,最后一个数字后不要空格。 第三行为一个正整数,表示n的逆序数。

  • Sample Input
  • Raw

12345 631

  • Sample Output
  • Raw

5

1 2 3 4 5

54321

3

6 3 1

136

Hint :

如果提交结果出现Presentation Error,请重点检查是不是第二行输出的数据中,输出的空格是不是不符合题意。(即:输出最后一个数后是否多输出一个空格?)

代码:

#include <stdio.h>
#include <stdlib.h>
int a[1000000];
int main()
{
    int n,i;
    scanf("%d",&n);
    int count=0;
    while(n)
    {
        a[i]=n%10;
        count=count*10+a[i];//求倒序
        n=n/10;
        i++;//记位数
    }
    printf("%d\n",i);//输出是几位数并换行
    for(int j=i-1;j>0;j--)
        {
            printf("%d ",a[j]);//输出前4个数字
        }
    printf("%d\n",a[0]);//换行
    printf("%d",count);//输出倒序
    return 0;
}
//example:12345,a[0]=5,a[1]=4;a[2]=3,a[3]=2,a[4]=1
//所以j=4=5-1=i-1
//因为printf("%d ",a[0])在输出的时候会输出5和一个空格
//题目只要求输出数字,所以将a[0]单独输出

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
青葱年少的头像青葱年少普通用户
上一篇 2023年12月19日
下一篇 2023年12月19日

相关推荐