q8111 2019-10-21 21:38 采纳率: 0%
浏览 218
已采纳

无法运行出结果,哪里有问题吗?

#include
#include
int main()
{
int a;
scanf("%d",&a);
int z,i;//判断位数
for(i=5;i>0;i--)
{
i=pow(10,i-1);
if(a/i!=0)

{
z=i;
break;
}
}
printf("%d\n",z);
int x[z];//判断各位数字
for(i=z;i>0;i--)
{
i=pow(10,i-1);
x[i]=a/i;
printf("%d ",x[i]);
}
printf("\n");
for(i=1;i<=z;i++)//逆序输出
{
printf("%d ",x[i]);
}
return 0;
}


  • 写回答

2条回答 默认 最新

  • seonlee 2019-10-22 05:32
    关注

    关键的问题是你的z=i那句话用错了。我猜你意图z也是个整数位数序号值,但它实际上已经是10为底的幂值,相对的个很大的值。i=pow(10,i-1)改为j=pow(10,i-1),if(a/j!=0)…等等相应调整就好了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?