-5

私はオームの法則プログラムを作ろうとしています。V = IR。

#include <stdio.h>

int main(int argc, const char * argv[]) {
    int V,I,R; 

    printf("please enter the value of the current if the value is not known make I=0 ");
    scanf("%d", &I);
    printf("please entre the value of the resistance if the value is not known make R=0");
    scanf("%d", &R);
    printf("please enter the value of the voltage, if unknown make V=0");
    scanf("%d", &V);

    if (V == 0) 
        V = I*R;
    {
        printf(" V = %d",V);
    }
    else if (I==0)
        I = V/R;
    {
        printf("I = %d ",I);
    }
    else
        R = V/I; 
    {
        printf("R= %d",R);

    }

    return 0;
}

私は初心者ですが、コードを改善するにはどうすればよいですか? どんな助けでも大歓迎ですありがとう。

4

4 に答える 4

1

インデントを学ぶ必要があり、ステートメントは if /else if /else ブロック内で指定する必要があります

if (V == 0) {
   V = I*R;
   printf(" V = %d",V);
} else if (I == 0) {
   I = V/R;
   printf("I = %d ",I);
} else {
   R = V/I; 
   printf("R= %d",R);
}

整数部分のみを取得するため、2番目と3番目のIとRの計算で除算しているため、すべての宣言を浮動小数点数にします。

于 2013-10-05T11:04:30.917 に答える
0

最初 - 「if」条件内で実行する行が複数ある場合、if 条件が括弧の後に続くため、print ステートメントだけでなく、if 条件の後に最初の行を括弧内に配置する必要があります。 elseif のように使用

于 2013-10-05T11:40:43.737 に答える
0

かっこなしで if ステートメントを使用して決定を記述することはできますが、あなたが行ったこと (if ステートメントの後に決定を追加し、THEN に角かっこを入れ、THEN に別の決定を追加する) は、C では正しくない構文です。通常、私は常に決定を if に入れます。あなたや他の人がコードを読みやすく編集しやすくするため、カッコ内に or else ステートメントを入れてください。したがって、それが機能するためには、上記の説明に基づいて以下を実行します

#include <stdio.h>

int main(int argc, const char * argv[]) {
    int V,I,R; 

    printf("please enter the value of the current if the value is not known make I=0 ");
    scanf("%d", &I);
    printf("please entre the value of the resistance if the value is not known make R=0");
    scanf("%d", &R);
    printf("please enter the value of the voltage, if unknown make V=0");
    scanf("%d", &V);

    if (V == 0) 

    {
     V = I*R;
        printf(" V = %d",V);
    }
    else if (I==0)
        I = V/R;
    {
        printf("I = %d ",I);
    }
    else

    {
    R = V/I;
        printf("R= %d",R);

    }

    return 0;
}

ただし、これは整数に対してのみ機能するため、私であれば float または double データ型を使用します (ただし、浮動小数点よりも多くのメモリを使用するため、常に double データ型を使用することは控えてください。さらに、実際には必要ないでしょう)小数点以下の桁数が多すぎます. また、一度も使用しないのに、なぜ int main 関数内にパラメーターを配置したのですか?

于 2013-10-05T12:21:10.180 に答える