C语言问题,我想的是if条件语句里三个都满足,但是只能满足两个,有啥办法解决,急,在线等?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言问题,我想的是if条件语句里三个都满足,但是只能满足两个,有啥办法解决,急,在线等?相关的知识,希望对你有一定的参考价值。

#include<iostream>
using namespace std;
int main()

int a,b,c,n=0;

for(c=1;c<100;c++)
for(b=2;b<100;b++)
for(a=3;a<100;a++)
if((b*b*c*c+a*a*c*c==a*a*b*b)&&(a+b+c<100))
if(c<b<a)
n++;
cout<<a<<" "<<b<<" "<<c<<endl;

cout<<n<<endl;

参考技术A 想要几个就写几个
if ((b*b*c * c + a*a*c * c == a*a*b*b) && (a + b + c < 100) && (c < b && b < a))
参考技术B if(c<b&&b<a)追问

明白了,谢谢

本回答被提问者和网友采纳
参考技术C 为什么不用while,或者嵌套if呢。

条件满足,但是if语句下的代码没有执行

【中文标题】条件满足,但是if语句下的代码没有执行【英文标题】:conditions are met, but the code under if statement doesn't execute 【发布时间】:2012-11-30 06:27:33 【问题描述】:

我正在尝试检查 if 语句中的以下条件。 但是即使满足条件,if语句下的代码也不会执行。

If (Gnum(0, 0) = Rnum(0, 0) & Gnum(0, 1) = Rnum(0, 1) & Gnum(0, 2) = Rnum(0, 2)) Then
    Lbl_Msg.Text = "Send Msg"
End If

【问题讨论】:

我不是 VB 专家,只是一个一般说明:检查运算符的用法 =&amp; 及其优先级。据我所知:Gnum(0, 0) = Rnum(0, 0) &amp; Gnum(0, 1) = Rnum(0, 1) 被评估为Gnum(0, 0) = ( Rnum(0, 0) &amp; Gnum(0, 1) ) = Rnum(0, 1) 即中间的 &amp; 首先得到评估 @GermannArlington:你不是说“&”运算符吗?我不认为在这里使用“=”有问题;-) @Meta-Knight 是的,我只是注意到&amp; 在 VB 中根本不是逻辑运算符... 注意:切换 Option Strict On 会提醒您这里有问题(即您的代码无法编译) 【参考方案1】:

我不确定 '&' 是否会按预期工作,因为 '&' 用于 vb.net 中的连接

尝试改用“和”。

编辑:vb.net 认为您在这里尝试做的是连接所有这些变量并检查该结果是否等于 true(它不会是)。这就是为什么 if 语句中的代码没有被执行但也没有显示错误的原因。

【讨论】:

哇,这就是问题所在。谢谢老兄【参考方案2】:

大概你想做AND 检查。而不是&amp;,尝试使用AndAlso

If (Gnum(0, 0) = Rnum(0, 0) AndAlso Gnum(0, 1) = Rnum(0, 1) AndAlso Gnum(0, 2) = Rnum(0, 2)) Then
    Lbl_Msg.Text = "Send Msg"
end if

&amp; 用于连接 VB.NET 中的字符串。

【讨论】:

是的,我想做 AND 检查,“and”和“andalso”之间的区别是什么? And 评估两边,而AndAlso 仅在左侧为真时评估右侧。因此,AndAlso 应该更快(尽管实际性能可能并不明显,具体取决于您在做什么)。如果您熟悉 C#,AndAlso 相当于 &amp;&amp;。更多信息在这里***.com/questions/302047/… >> 尽管现实生活中的性能可能并不明显,具体取决于您在做什么If x=0 AndAlso ExpensiveFunction(y) < 3,和/或如果左侧很少评估为true【参考方案3】:
If (Gnum(0, 0) = Rnum(0, 0) AND Gnum(0, 1) = Rnum(0, 1) AND Gnum(0, 2) = Rnum(0, 2)) Then
    Lbl_Msg.Text = "Send Msg"
Else
    Lbl_Msg.Text = "see if this text is written to confirm if your if is true"
End If

【讨论】:

这除了已经提供的两个答案之外没有给出任何其他答案

以上是关于C语言问题,我想的是if条件语句里三个都满足,但是只能满足两个,有啥办法解决,急,在线等?的主要内容,如果未能解决你的问题,请参考以下文章

C语言循环语句——whilefordo while

选择结构有啥特点?C语言实现选择结构有哪几种方式

java中if条件语句里条件的并列

有对C语言熟悉的吗?我对if语句有点小小的疑问,请您解答。。

求一些C语言if嵌套语句算法题

c语言中的条件语句if