代码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 回答
Xyino_Snake
TA贡献31条经验 获得超22个赞
这是要求什么东西啊?问题一楼已经说了。参数的数量不匹配。但是我很好奇这个程序是求什么数。
不管算法是什么,你都可以先把这个数生成之后,再单一输出。不必为了获得字符串而这么费劲。
- 4 回答
- 0 关注
- 1371 浏览
添加回答
举报
0/150
提交
取消