永发信息网

求C语言大神教我应该怎么改

答案:1  悬赏:10  手机版
解决时间 2021-03-10 19:15
  • 提问者网友:温旧梦泪无声
  • 2021-03-09 18:33
求C语言大神教我应该怎么改
最佳答案
  • 五星知识达人网友:千夜
  • 2021-03-09 19:45
程序应该是找出来输入的所有数字吧
你的程序的问题是在i==0时,d的值是0,a/d引起错误。
pow函数的定义是这样的:double pow(double x, double y);
所以,pow(10,-1) 的值是0.1,转换成int就变成0了,用一个函数之前了解一下定义
简单点,在a/d之前加一句判断退出就好了,if (d==0) break;
或者,循环条件改成 while (i>0)
另外,下面的代码给你参考

   #include 
   int main(int argc, char ** argv)
   {
           int a = 0;
           int b[100] = {0};
           int i = 0;
           scanf("%d",&a);
           while(a>0) {
                   b[i++] = a%10;
                   a /= 10;
           }
           while (i-->0) {
                   printf("%d,", b[i]);
           }
           printf("
");
   
           return 0;
   }追问我这样改之后就可以运行了诶?怎么回事
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯