-5

これを理解するのに役立つ C 言語プログラマーはいますか? ガロンあたりの平均走行距離の計算がうまくいかず、頭がぐるぐるしています。どなたか解決策があればよろしくお願いします^_^

int x, number_of_tanks = 3;
double total_num1, total_num2;
double total_miles_per_gallon;
float division, avg;
float num1, num2;

for (x = 1; x <= 3; x++)
{
    printf("Enter the number of gallons used for tank #%i: ",x);
    scanf("%f", &num1);
    fflush(stdin);      /* clear input buffer */

    printf("Enter the number of miles driven: ");
    scanf("%f", &num2);
    fflush(stdin);      /* clear input buffer */

    /*--------------------------------------------------------------*/
    /* calculate and output the miles per gallon from user input.   */
    /* ------------------------------------------------------------ */

    division = num2 / (float) num1;                            
    printf("The miles per gallon for this tank %.1f divided by %.1f is %.1f", \
        num2, num1, division);

    total_num2 = total_num2 + num2;
    printf("The total of miles is %f\n", total_num2);

    total_num1 = total_num1 + num1;
    printf("The total of gallons is %f\n", total_num1);
}

avg = (double) total_num2 / total_num1; 
printf("Overall average miles per gallon for three tanks: %.1f", avg);
4

1 に答える 1

1

合計を初期化しないため、未定義です。それらに追加を開始すると、未定義の結果が得られます。それが機能しないという意味です。

これを行う:

double total_num1 = 0;
double total_num2 = 0;
于 2013-06-28T02:55:22.827 に答える