//取出一个无符号的十进制整数中所有奇数数字,按原来的顺序组成一个新的数# include<stdio.h>int main(){ int m=0,n,k; do { scanf("%d",&n); if(n<=0) printf("数据输入错误,请重新输入"); }while(n<=0); for(k=n;k>0;k=k/10) { if((k%10)%2==1) m=(k%10)+m*10; }while (m!=0){ printf("%d",m%10); m=m/10;} printf("%d\n",m);return 0;} 测试的时候总会多输出一个0,是哪里错了?
1 回答
已采纳
Yexiaomo
TA贡献152条经验 获得超157个赞
最简单的方法: 把最后 printf("%d\n", m); 这一行去掉
你的问题就解决了........
---------------------------------------------2016年10月13日 13:32---------------------------------------------------
还有代码, 不要这样贴, 这样很少会有人看, 这样你的问题就得不到解决
要这样贴,
# include<stdio.h> int main() { int m=0,n,k; do { scanf("%d",&n); if(n<=0) printf("数据输入错误,请重新输入"); }while(n<=0); for(k=n;k>0;k=k/10) { if((k%10)%2==1) m=(k%10)+m*10; } while (m!=0) { printf("%d",m%10); m=m/10; } return 0; }
- 1 回答
- 1 关注
- 1929 浏览
添加回答
举报
0/150
提交
取消