m0_63999697 2021-12-31 09:16 采纳率: 93.5%
浏览 55
已结题

数字倒序输出 这样为什么错了

问题描述
给一个数n(0<n<=32767),逆序打印出各位数字,并求它是几位数。

输入
输入数据有多组,每组占一行,由一个整数组成。

输出
对于每组输入数据,输出一行,该行有两个数,一个数是n的各位数字的逆序,一个数是n的位数,它们以一个空格隔开。

输入样列
12345
34
100
789
输出样例
54321 5
43 2
001 3
987 3

#include<stdio.h>
int main()
{
    int n,k,i;
    int a[6];
    while(~scanf("%d",&n)){
        k=0;
        do{
            a[k]=n%10;
            k++;
            n=n/10;
        }while(n!=0);
        for(i=0;i<k;i++){
            printf("%d",a[k]);
        }
        printf(" %d\n",k);
    }
    return 0;
}

  • 写回答

1条回答 默认 最新

  • fuill 2021-12-31 09:23
    关注

    代码修改如下

    #include<stdio.h>
    int main()
    {
        int n,k,j;
        int a[6];
        while(~scanf("%d",&n))
        {
            k=0;
            do {
                a[k]=n%10;
                k++;
                n=n/10;
            } while(n!=0);
            for(j=0; j<k; j++)
            {
                printf("%d",a[j]);//改了
            }
            printf(" %d\n",k);
        }
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月8日
  • 已采纳回答 12月31日
  • 创建了问题 12月31日