永发信息网

C语言实验题——逆置正整数

答案:6  悬赏:80  手机版
解决时间 2021-03-06 19:45
描述

输入一个三位正整数,将它反向输出。

输入

3位正整数

输出

输出逆置后的正整数(去除前导0)

样例输入

123

样例输出

321

提示

注意:
130逆置后是31

当我输入123的时候输出的结果却是320,请问是哪里错掉了啊,要怎么改才是对的, 谢谢

#include
int main()
{
int num,d,e,f,g;
scanf("%d",&num);
g=num%100%10;
f=(num/10)%10;
d=num/100;
if(d=0)
{
printf("%d%d\n",f,g);

}
else
printf("%d%d%d\n",g,f,d);

return 0;
}
最佳答案
#include
int main()
{
int num,d,e,f,g;
scanf("%d",&num);
g=num%10;//error
f=(num/10)%10;
d=num/100;
if(g == 0) //error
{
printf("%d%d\n",f,d);//error

}
else
printf("%d%d%d\n",g,f,d);

return 0;
}

另外你这程序写的太局限了,如果输入100呢,答案应该输出1才对
下面是好的写法:
#include
#define MAX_D 100

int main()
{
int a, i, n = 0;
int digit[100];

scanf("%d", &a);
while (a)
{
digit[n++] = a % 10;
a /= 10;
}
for (i = 0; digit[i] == 0 && i < n; i++);
for (; i < n; i++)
printf("%d", digit[i]);
printf("\n");
return 0;
}
全部回答
只错了一个小地方而已,改过来就没事了: if(d=0) -----> if(d==0)
#include #define max_d 100 int main() { int a, i, n = 0; int digit[100]; scanf("%d", &a); while (a) { digit[n++] = a % 10; a /= 10; } for (i = 0; digit[i] == 0 && i < n; i++); for (; i < n; i++) printf("%d",digit[i]); printf("\n"); printf("是否继续测试?继续请按1,按其他任意键后按回车取消\n"); int mdd; scanf("%d",&mdd); switch(mdd) { case 1:main(); default :break; } return 0; }
#include using namespace std; int main() { int x; while(cin>>x) { if(x%10!=0) cout<
  • 4楼网友:雾月
  • 2021-03-06 09:06
#include int main() { int num,d,e,f,g; scanf("%d",&num); g=num%10; f=(num/10)%10; d=num/100%10; if(f==0) printf("%d\n",g); else{ if(d==0) printf("%d %d\n",g,f); else printf("%d %d %d\n",g,f,d); } return 0; } 这个是三个数都可以输出的,随便输入几个数的
  • 5楼网友:第幾種人
  • 2021-03-06 07:57
你这个程序还是不对,如果输入的正整数是200,按照你这个程序(假如是正确的),那么会输出02;按照你的意思应该只输出个2才对。 #include void main() { int num,d,f,g; scanf("%d",&num); g=num%10; //提取个位上的数字 f=(num/10)%10; //提取十位上的数字 d=num/100; //提取百位上的数字 if (g!=0) printf("%d%d%d\n",g,f,d); else if(f!=0) printf("%d%d\n",f,d); else printf("%d",d); //该句包含两种情况,d为零就输出非零数据,d为零意味着原数就是零,输出的也是零,但如果输入的是三位数,一般d不为零,不过你可以测试下输入个000,应该输出也是0 } 你测试下吧,我没装环境没有测试~
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯