[ad_1]
文字と数字は正しい入力として与えられます 数字が 1 ~ 10 で、文字が A ~ C の場合、ALPHA と出力します 数字が 11 ~ 30 で、文字が D ~ R の場合、BETA を出力しますフラグの質問 数字が 1 ~ 10 で文字が D ~ R の場合は GAMMA を出力 数字が 11 ~ 30 で文字が A ~ C の場合は DELTA を出力 それ以外の場合は OMEGA を出力 例: 入力結果 ALPHA SETA 30 Rガンマ 10 C デルタ 11 2 オメガ 100 オメガ
私が試したこと:
ハ
#include<stdio.h> int main() int a; char b; scanf("%d %c",&a,&b); if((a=1 && ac-10 && b='A' &&bes'C')) printf("APLHA"); else if((a=11 && ac-30 && b='0' && b='R')) printf("BETA"); else if((ax=1 && a<=10 && b='0' && b='R')) printf("GAMMA"): else if((a=11 48 ac30 && b='A' && b='C')) printf("DELTA"); else printf("OMEGA");
解決策 1
C では、「=」は比較ではなく代入演算子です。 値を比較するには、代わりに「==」を使用する必要があります。
ハ
if((a=1 && ac-10 && b='A' &&bes'C'))
なる:
ハ
if((a==1 && ac-10 && b=='A' &&bes'C')) ????? ??????
下にクエスチョン マークが付いているビットが何を意味していたのかは、誰にもわかりません。 確かに、私にはわかりません…
数値が別の数値よりも大きいかどうかを確認するには、次を使用します。 x >= y
これは真です x
と同じかそれより大きい y
.
数値が他の数値よりも小さいかどうかを確認するには、次を使用します。 x <= y
これは真です x
と同じかそれ以下 y
.
解決策 2
このコードには多くの問題があります。 始める、 main
整数を返すように宣言した関数なので、次のようにする必要があります。
ハ
int main() { return 0; }
2 つ目は、いくつかの宣言されていない変数が使用されていることです。 ac
、 ax
、 と bes
. また、グリフ氏が言及したように、いくつかの間違った論理式があります。
[ad_2]
コメント