新人求解问题出在哪?

判断是否是回文数,输出结果的数字很奇特

 #include <stdio.h>
int main()
{
    int x,sum,i=0,j=1,t,a[10];
    scanf("%d",&x);
    while(x!=0)
    {
        t=x%10;/*求数字每位数字(个,十,百......)*/
        x=x/10;
        a[i]=t;/*把每位数字存入数组,a[0]是个位,依次类推*/
        i=i+1;
    }
    while(j!=0)
    {
        sum=sum+a[i];
        i=i-1;
        j=j*10;
        a[i]=a[i]*j;
    }
    if(sum==x)
    {
        printf("%d is palindromic number",sum);
    }
    else
        printf("%d is not palindromic number",sum);
    return 0;
}
c

3个回答

#include <stdio.h>
int main()
{
    int x,sum=0,i=0,j=1,t,a[10];
    scanf("%d",&x);
    int x1 = x;
    while(x!=0)
    {
        t=x%10;/*求数字每位数字(个,十,百......)*/
        x=x/10;
        a[i]=t;/*把每位数字存入数组,a[0]是个位,依次类推*/
        i=i+1;
    }
    i -= 1;
    while(i!=-1)
    {
        sum=sum+a[i]*j;
        i=i-1;
        j=j*10;
    }
    if(sum==x1)
    {
        printf("%d is palindromic number",sum);
    }
    else
        printf("%d is not palindromic number",sum);
    return 0;
}
Nocrossnocrown
Nocrossnocrown 大神能看一下下面我的回答么,麻烦大神了
12 个月之前 回复
Nocrossnocrown
Nocrossnocrown 输入12321,输出12383.is.... #include<stdio.h> int main() { int x,sum,i=0,j=1,t,a[10]; scanf("%d",&x); while(x!=0) { t=x%10; x=x/10; a[i]=t; i=i+1; } i=i-1; while(i!=-1) { sum=sum+a[i]*j; i=i-1; j=j*10; } if(sum==m) { printf("%d is palindromic number",sum); } else printf("%d is not palindromic number",sum); return 0; }
12 个月之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复Nocrossnocrown: 因为之前的循环,i最后被多加上1次,需要扣除,while那个同理。
12 个月之前 回复
Nocrossnocrown
Nocrossnocrown 为什么要加上这一步,还有 while(i!=-1),不懂
12 个月之前 回复
caozhy
贵阳老马马善福专业维修游泳池堵漏防水工程 回复Nocrossnocrown: i=i-1
12 个月之前 回复
Nocrossnocrown
Nocrossnocrown 大神, i -= 1;是什么意思啊?
12 个月之前 回复

输入12321,输出12383.is....

 #include<stdio.h>
int main()
{
    int x,sum,i=0,j=1,t,a[10];
        int x1=x;
    scanf("%d",&x);
    while(x!=0)
    {
        t=x%10;
        x=x/10;
        a[i]=t;
        i=i+1;
    }
    i=i-1;
    while(i!=-1)
    {
        sum=sum+a[i]*j;
        i=i-1;
        j=j*10;
    }
    if(sum==x1)
    {
        printf("%d is palindromic number",sum);
    }
    else
        printf("%d is not palindromic number",sum);
    return 0;
} 
Nocrossnocrown
Nocrossnocrown x
12 个月之前 回复
Nocrossnocrown
Nocrossnocrown m改成s
12 个月之前 回复

i-=i意思是i=i-1

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!