【解決方法】このプログラムに答えてください


文字と数字は正しい入力として与えられます 数字が 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 つ目は、いくつかの宣言されていない変数が使用されていることです。 acax、 と bes. また、グリフ氏が言及したように、いくつかの間違った論理式があります。

コメント

タイトルとURLをコピーしました