
这个为什么不对呢?算出来的结果不是对的吗?到底是哪儿错了呢?
看题目意思就是每个数是不能够重复的哦!
你写的代码没有去掉重复的数字所以不对哦!
代码已经写好了,仅供参考!谢谢!

#include<stdio.h>
int main()
{
int a, b, c, flag = 1;
char s[10];
while (scanf("%d%d%d", &a, &b, &c) == 3)
{
if (c < 123 || c > 987 || a < 123 || a > 987 || b < 123 || b > 987)
{
puts("NO!");
continue;
}
sprintf(s, "%d%d%d", a, b, c);
for (int i = 0; i < 8; i++)
{
for (int j = i + 1; j < 9; j++)
{
if (s[i] == s[j] || s[i] == 0 || s[j] == 0)
{
flag = 0;
break;
}
}
if (flag == 0)
{
break;
}
}
if (a + b == c && flag == 1)
{
puts("YES!");
}
else
{
puts("NO!");
flag = 1;
}
}
return 0;
}