Cのプログラムが間違った結果を示しています、奇数

アッシャーマナンガン|

保存する整数の数を入力してください:5

5つの整数を入力します。

 1 2 3 4 5

セットには2つの偶数があります。セットには3つの奇数があります。

偶数:

2
4

奇数:

1
3
5

出力:

Sum of Odd Numbers is 51
Sum of Even Numbers is 6
--------------------------------
Process exited after 3.389 seconds with return value 0
Press any key to continue . . .

これはコードです:

#include <stdio.h>

int main()
{
    int N, n;
    printf("Enter number of integers to be stored : ");
    scanf("%d", &N);
    int count[N];
    printf("\nEnter %d integers: \n", N);
    for(int n=0;n<N;n++)    
    {
      scanf("%d", &count[n]);
    }
    //Even and Odd Counter
    int even_counter=0, odd_counter=0;
    for(n=0;n<N;n++)
    {
        //even_counter
        if(count[n]%2==0)
        {
            even_counter++;
        }
        //odd_counter
        else
        {
            odd_counter++;
        }
    }
    printf("\nThere are %d even numbers in the set.", even_counter);
    printf("\nThere are %d odd numbers in the set.\n", odd_counter);


    //Sorting of Even and Odd
    int i=0;
    printf("\nEven numbers: \n");
    for(n=0;n<N;n++)
    {   
        if(count[n]%2==0)
        {
            printf("%d\n", count[n]);
        }
    }
    printf("\nOdd numbers: \n");
    for(n=0;n<N;n++)
    {
        if(count[n]%2==1)
        {
            printf("%d\n", count[n]);
        }
    }

    //Sum of Odd and Even Values

    //EvenSummation
    int even_lister[i], sumEven, odd_lister[i], sumOdd;
    for(n=0;n<N;n++)
    {   
        if(count[n]%2==0)
        {
            even_lister[i]=count[n];
            sumEven+=even_lister[i];
        }
        else //OddSummation      
        {
            int odd_lister[i], sumOdd, i=0;

            odd_lister[i]=count[n];
            sumOdd+=odd_lister[i];

        }
     }
     printf("\nSum of Odd Numbers is %d", sumOdd);
     printf("\nSum of Even Numbers is %d", sumEven);
}

私のプログラムの何が問題になっていますか?私は知っていることをすべて試しました:(奇妙な値は奇妙な結果をもたらしています。

軌道上の明度レース

偶数の合計を計算する部分は次のとおりです。これは機能します。

    if(count[n]%2==0)
    {
        even_lister[i]=count[n];
        sumEven+=even_lister[i];
    }

これが奇数の合計を計算する部分ですが、そうではありません。

    else //OddSummation      
    {
        int odd_lister[i], sumOdd, i=0;

        odd_lister[i]=count[n];
        sumOdd+=odd_lister[i];

    }

違いがわかりますか?2番目の行には余分な行があります。動作しないバージョンでは、いくつかのローカル変数を再宣言し、それらのローカル変数に値を割り当てました。それが機能しない理由です。後で画面に出力する上位スコープの「元の」変数には何もしませんでした。

さらに、どちらかsumEvenまたはsumOdd初期化したことがないため、両方の部分が実際に壊れているため0、それらの値は指定されておらず、指定されていない値に追加して他の指定されていない値を作成しています。このバグが観察可能な症状を引き起こすかどうかは未定義です。

もう1つの問題は、配列を次のように宣言することです。

int even_lister[i];

ただし、これiは設定した変数であり、0変更されることはありません。したがって、これらの配列の長さゼロであり、それらへのすべてのアクセスは違法です。おそらくあなたはn代わりに使うつもりでしたか?

コンパイラの警告をオンにして、コードをより注意深く読む必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Cのプログラムが間違った結果を示しています、奇数

分類Dev

mysqlログの結果は正しい答えを示していますが、送信は間違った答えを示しています

分類Dev

アイテムを検索しようとしていますが、プログラムで間違った結果が表示されます

分類Dev

この同期されたプログラムが間違った結果を返すのはなぜですか?

分類Dev

複数回実行した後、プログラムが間違った結果を出す

分類Dev

実行中の配列を比較するが間違った結果を与える単純なプログラム

分類Dev

数値プログラムの力でJavaを追加すると間違った結果になります

分類Dev

ElasticsearchMatchQueryが間違った結果を返しています

分類Dev

Valgrindを使用したlongdoubleのstd :: fpclassifyの結果が間違っています

分類Dev

Pythonを使用したGoogleScrapeの結果の数が間違っています

分類Dev

チェス盤の検証プログラムは機能しますが、間違った結果が得られます

分類Dev

海生まれのラインプロットは間違った伝説を示しています

分類Dev

母音と同意で始まる単語の量を取得するためのプログラムが間違った答えを返しています

分類Dev

Oracleの "order by"句は、結果を間違った順序で返すか、結果が欠落しています

分類Dev

javascript arrray.unshift()が間違った結果を示している

分類Dev

簡単なJSプログラムを間違えましたが、なぜ間違っているのかわかりません

分類Dev

方程式プログラム-エラーが間違った行を指しているようです

分類Dev

グラフはX軸で間違った日付を示しています

分類Dev

合計を使用して関数をプロットすると、間違った結果が生成されます

分類Dev

Objective-Cでは、fabsf()の結果タイプが間違っています

分類Dev

n> 47の後にウッダル数を計算するプログラムが間違った結果を生成するのはなぜですか?

分類Dev

Pthreadsプログラムは、間違った出力と正しい出力を生成することがあります

分類Dev

phpdate_createが間違った年を示しています

分類Dev

このプロローグソートプログラムは、単にその複雑さのために、またはそれが間違っているために、スタックをオーバーフローしていますか?

分類Dev

PythonのLinearRegressionが間違った結果を出しますか?

分類Dev

Pythonでガウス関数のフーリエ変換をプロットしましたが、結果は間違っていました

分類Dev

ループを使って1から100までの奇数を表示するプログラムを作っていました

分類Dev

価格の合計が間違った値を示しています

分類Dev

価格の合計が間違った値を示しています

Related 関連記事

  1. 1

    Cのプログラムが間違った結果を示しています、奇数

  2. 2

    mysqlログの結果は正しい答えを示していますが、送信は間違った答えを示しています

  3. 3

    アイテムを検索しようとしていますが、プログラムで間違った結果が表示されます

  4. 4

    この同期されたプログラムが間違った結果を返すのはなぜですか?

  5. 5

    複数回実行した後、プログラムが間違った結果を出す

  6. 6

    実行中の配列を比較するが間違った結果を与える単純なプログラム

  7. 7

    数値プログラムの力でJavaを追加すると間違った結果になります

  8. 8

    ElasticsearchMatchQueryが間違った結果を返しています

  9. 9

    Valgrindを使用したlongdoubleのstd :: fpclassifyの結果が間違っています

  10. 10

    Pythonを使用したGoogleScrapeの結果の数が間違っています

  11. 11

    チェス盤の検証プログラムは機能しますが、間違った結果が得られます

  12. 12

    海生まれのラインプロットは間違った伝説を示しています

  13. 13

    母音と同意で始まる単語の量を取得するためのプログラムが間違った答えを返しています

  14. 14

    Oracleの "order by"句は、結果を間違った順序で返すか、結果が欠落しています

  15. 15

    javascript arrray.unshift()が間違った結果を示している

  16. 16

    簡単なJSプログラムを間違えましたが、なぜ間違っているのかわかりません

  17. 17

    方程式プログラム-エラーが間違った行を指しているようです

  18. 18

    グラフはX軸で間違った日付を示しています

  19. 19

    合計を使用して関数をプロットすると、間違った結果が生成されます

  20. 20

    Objective-Cでは、fabsf()の結果タイプが間違っています

  21. 21

    n> 47の後にウッダル数を計算するプログラムが間違った結果を生成するのはなぜですか?

  22. 22

    Pthreadsプログラムは、間違った出力と正しい出力を生成することがあります

  23. 23

    phpdate_createが間違った年を示しています

  24. 24

    このプロローグソートプログラムは、単にその複雑さのために、またはそれが間違っているために、スタックをオーバーフローしていますか?

  25. 25

    PythonのLinearRegressionが間違った結果を出しますか?

  26. 26

    Pythonでガウス関数のフーリエ変換をプロットしましたが、結果は間違っていました

  27. 27

    ループを使って1から100までの奇数を表示するプログラムを作っていました

  28. 28

    価格の合計が間違った値を示しています

  29. 29

    価格の合計が間違った値を示しています

ホットタグ

アーカイブ