标题:麻烦大家帮我看下这段小程序哪里有问题
取消只看楼主
张浮生
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2017-9-22
结帖率:0
已结贴  问题点数:20 回复次数:2 
麻烦大家帮我看下这段小程序哪里有问题
题目是输入一个不多于5位的正整数,要求:1 求它是几位数;2 分别输出每一位数字;3 按逆序输出各位数字。例如原数为321,应输出123。
我输入123,为什么程序运行结果是320?
#include <stdio.h>
#include <math.h>
int main()
{
    int a,m=0,i,j;
    int b[4];
    scanf("%d",&a);
    printf("从个位到最高位上的数字依次是:\n");
    for(i=0;i<=4;i++)
    {
    b[i]=a%10;
    printf("%d\n",b[i]);
    a=a/10;
    if(a==0)
    break;
    }
    printf("这是%d位数\n",i+1);
    for(j=0;j<=i;j++)
    {
    m=m+b[j]*pow(10,i-j);
    }
    printf("这个数的逆序是%d\n",m);
    return 0;
}
搜索更多相关主题的帖子: 位数 输出 int printf for 
2017-09-22 20:16
张浮生
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2017-9-22
得分:0 
回复 2楼 吹水佬
您这段程序写的蛮巧妙的,真的谢谢您,可是我特别想知道我原来的程序数字逆序那一段错在哪里~
2017-09-22 20:54
张浮生
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2017-9-22
得分:0 
回复 4楼 yu965634383
我明白了,谢谢您啊!
2017-09-22 21:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-480882-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.264355 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved