//取出一个无符号的十进制整数中所有奇数数字,按原来的顺序组成一个新的数# 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 关注
- 2017 浏览
添加回答
举报
0/150
提交
取消
