为了账号安全,请及时绑定邮箱和手机立即绑定

代码运行有错,求帮忙看一下哪里错了

代码运行有错,求帮忙看一下哪里错了

C
一纸白书 2017-04-12 17:30:29
代码case 5那里运行有问题,求帮忙看下怎么改,谢谢!#include <stdio.h> #include <stdlib.h> int main() {     int a=0;     int b=10;     int c=1;     printf("请输入一个不大于五位的正整数:\n");     scanf("%d",&a);     if(a<100000)     {         while(a/b != 0)         {             b = b*10;             c++;         }         printf("该数的位数为:%d\n",c);         switch(c)         {             case 1:                 printf("变化后的数为%d",10-a);                 break;             case 2:                 printf("变化后的数为%d%d",10-a/10,10-a%10);                 break;             case 3:                 printf("变化后的数为%d%d%d",10-a/100,10-a/10%10,10-a%10);                 break;             case 4:                 printf("变化后的数为%d%d%d%d",10-a/1000,10-a/100%10,10-a/10%10,10-a%10);                 break;             case 5:                 printf("变化后的数为%d%d%d%d%d",10-a/10000,10-a/1000%10,10-a/100%10,10-a%10);                 break;         }     }     else     {         printf("错误\n");     }     return 0; }
查看完整描述

4 回答

已采纳
?
慕粉4078870

TA贡献1条经验 获得超1个赞

删掉一个%d

查看完整回答
1 反对 回复 2017-04-12
?
慕粉2006446532

TA贡献2条经验 获得超0个赞

case 5多了一个%d
查看完整回答
反对 回复 2017-04-13
?
Xyino_Snake

TA贡献31条经验 获得超22个赞

这是要求什么东西啊?问题一楼已经说了。参数的数量不匹配。但是我很好奇这个程序是求什么数。 不管算法是什么,你都可以先把这个数生成之后,再单一输出。不必为了获得字符串而这么费劲。
查看完整回答
反对 回复 2017-04-12
  • 一纸白书
    一纸白书
    就是求每个位上的数加起来等于十,比如123转化后为987,有更简便的方法先把数生成再输出的话方便讲一下吗谢谢!
  • 4 回答
  • 0 关注
  • 1371 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信