C语言 3454--最大值III
答案:2 悬赏:60 手机版
解决时间 2021-03-19 07:31
- 提问者网友:wodetian
- 2021-03-18 09:37
描述
输入一个三位整数,再把它的次序打乱重新组合一个新的三位整数,使其值最大
输入
输入数据有多组,每组占1行,每行为一个三位正整数。
输出
每组输出占1行,每行为一个正整数,即次序打乱重新组合一个新的三位整数。
样例输入
123
231
样例输出
321
321
我自己写好的代码,从结果上看是对的,可是提交失败,哪里错了呢#include
int main()
{
int n,a,b,c,a1,b1,s;
while(scanf("%d",&n)!=EOF)
{
a=n/100;
a1=n%100;
b=a1/10;
c=a1%10;
if(a>b&&b>c)
{
s=a*100+b*10+c;
printf("%d\n",s);
}
if(a>c&&c>b)
{
s=a*100+c*10+b;
printf("%d\n",s);
}
if(b>a&&a>c)
{
s=b*100+a*10+c;
printf("%d\n",s);
}
if(b>c&&c>a)
{
s=b*100+c*10+a;
printf("%d\n",s);
}
if(c>a&&a>b)
{
s=c*100+a*10+b;
printf("%d\n",s);
}
if(c>b&&b>a)
{
s=c*100+b*10+a;
printf("%d\n",s);
}
}
}
最佳答案
- 五星知识达人网友:想偏头吻你
- 2021-03-18 10:20
尝试过用char数组输入方式吗?直接比较字符,用来排序方便多了,yes,输入输出都方便多了。
但如果你觉得程序上没有问题,就考虑以下我说的。
原文:
输出
每组输出占1行,每行为一个正整数,即次序打乱重新组合一个新的三位整数。
次序打乱,新的,请注意这两个个词语
你能通过这次例子吗
输入:321
或许你认为答案是输出321
但有可能是312。。。。因为要次序打乱,,输出321可没有打乱次序还是原来的
你是在做ACM吗?ACM就是有点折磨人,往往一个小的输入输出都会出错
你的输入太麻烦了
只要读取一个数,譬如
int a
cin>>a;足以
这个a就是三位数了吧
全部回答
- 1楼网友:慢性怪人
- 2021-03-18 11:42
你好!
while(scanf("%d",&n)!=EOF)
这行有问题
scanf()的返回值是成功读取数据的个数,在这里可能的值是1或0
希望对你有所帮助,望采纳。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯