我应该写一个C while
语句,在x
大于10且是6或7的倍数时继续。我只需要包含实际的while
语句,不是整个循环!
我知道这对你来说可能很有趣,但这是我到目前为止所做的。
#include<stdio.h>
int main(){
int x;
while (x > 10, x % 7 = 0 || x % 6 = 0) {
printf("%d\n", x);
}
}
答案 0 :(得分:3)
逻辑且&&
。作为运算符,,
是“忽略左边事物的结果”。
答案 1 :(得分:3)
您的布尔逻辑和比较都使用错误的语法。它应该是这样的:
while (x > 10 && (x % 7 == 0 || x % 6 == 0)) {
逗号(,
)不是有效的布尔运算符。你想要的是&&
(逻辑AND)。您需要围绕其他两个表达式使用括号,因为AND(&&
)的优先级高于OR(||
)。
=
用于设置值; ==
用于比较它们。
最后,正如其他人所指出的那样,您不会在已发布的代码中的任何位置设置x
。所以,你的循环不会运行。并且你不会在循环中修改x
,所以,如果你进入循环,你将永远不会离开。
答案 2 :(得分:2)
您的while语句应为
while (x > 10 && (x % 7 == 0 || x % 6 == 0))
请注意&&
用于“布尔值”和“{1}}用于”等式比较“。
答案 3 :(得分:2)
程序看起来像
#include <stdio.h>
int main( void )
{
int x;
printf( "Enter an integer number: " );
scanf( "%d", &x );
while ( x > 10 && ( x % 7 == 0 || x % 6 == 0 ) )
{
printf( "%d\n", x );
printf( "Enter next integer number: " );
scanf( "%d", &x );
}
}
或者您可以通过以下方式放大while循环中的条件(以检查输入是否正确)
#include <stdio.h>
int main( void )
{
int x;
printf( "Enter an integer number: " );
while ( scanf( "%d", &x ) == 1 && x > 10 && ( x % 7 == 0 || x % 6 == 0 ) )
{
printf( "%d\n", x );
printf( "Enter next integer number: " );
}
}
至于你在while循环中的条件,那么它有两个错误
while (x > 10, x % 7 = 0 || x % 6 = 0)
它使用逗号运算符代替逻辑运算符&amp;&amp;它使用赋值运算符,例如x % 7 = 0
而不是比较运算符x % 7 == 0
。变量x
也未初始化。
答案 4 :(得分:1)
我应该写一个C while语句,当x是两者时继续 大于10和6或7的倍数。我只需要包含 实际的while语句,而不是整个循环!
让我们分析一下将在while()语句中的条件:
x大于10且是6或7的倍数
可以表示为
x大于10且是7的倍数或7的倍数
所以让我们在C:中编写代码
x大于10
x>10
和
&&
x的6倍或7倍的x倍数
(x%6)==0 || (x%7)==0
然后,一起
x>10 && ( (x%6)==0 || (x%7)==0 )
所以你的句子是这样的:
while (x>10 && ( (x%6)==0 || (x%7)==0 ))
{
stuff...
}
答案 5 :(得分:0)
这可以是解决方案Ava
while (x > 10 && (x % 7 == 0 || x % 6 == 0)) {