为什么会错
#include <stdio.h>#include <math.h>
int main()
{
// 请在Begin与End之间补齐代码
/********** Begin *********/
int a,b,c,m;
scanf("%d",&m);
a = m / 100;
c = m % 10;
b = (m - 100*a - c) / 10;
if ("a*b!=c*c&&a==b||a==c||b==c")
printf("Yes!");
else
printf("No!");
/********** End **********/
return 0;
}
问题出在if语句的条件判断上。你使用了字符串作为条件判断的表达式,而不是实际的逻辑表达式。正确的写法应该是将条件表达式直接写在if语句中,而不是作为字符串。
你可以将if语句修改为以下形式:
if (a * b != c * c && (a == b || a == c || b == c))
printf("Yes!");
else
printf("No!");
这样就可以正确地进行条件判断了。 代码中的错误在于条件判断语句的部分。
应该将条件判断语句改为:
if (a * b != c * c && (a == b || a == c || b == c))
改正后的完整代码如下:
#include <stdio.h>
#include <math.h>
int main()
{
int a, b, c, m;
scanf("%d", &m);
a = m / 100;
c = m % 10;
b = (m - 100 * a - c) / 10;
if (a * b != c * c && (a == b || a == c || b == c))
printf("Yes!");
else
printf("No!");
return 0;
}
这样会正确判断条件并输出结果。
请注意,本回答来自GPT-4
如果问题已经解决,请设置最佳答案
页:
[1]