[問題] 印不出所要的結果
程式碼如下
#include<stdio.h>
int main(void)
{
int counter;
float total1;
float total2;
float num1;
float num2;
float num3;
float average;
total1=0;
total2=0;
counter=0;
printf("Enter the gallons used (-1 to end):\n");
scanf("%f",&num1);
while (num1!=-1)
{
total1 = total1+num1;
counter = counter+1;
printf("Enter the miles driven:\n");
scanf("%f",&num2);
num3=(float)num2/(float)num1;
printf("The miles / gallon for this tank was %.6f\n",num3);
printf("Enter the gallons used (-1 to end):\n");
scanf("%f",&num1);
}
total2 = total2+num2;
if (counter!=0)
{
average=(float)total2/(float)total1;
printf("The overall average miles/gallon was %.6f\n",average);
}
return 0;
}
程式跑到最後,也就是if的那部分,跑不出小弟所要的結果,
例如我先輸入12.8,再輸入287,得出來應該是22.421875,之後小弟輸入-1,
來跳出while迴圈,但最後那一行應該要顯示
The overall average miles/gallon was 22.421875
但卻顯示其他數字,請問小弟哪裡有寫錯嗎?
這問題想了好久都想不出來,煩請高手指點一下!!
感謝您!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.64.151.20
推
03/20 20:11, , 1F
03/20 20:11, 1F
→
03/20 20:16, , 2F
03/20 20:16, 2F
→
03/20 20:16, , 3F
03/20 20:16, 3F
→
03/20 20:18, , 4F
03/20 20:18, 4F
→
03/20 20:23, , 5F
03/20 20:23, 5F
→
03/20 20:24, , 6F
03/20 20:24, 6F
→
03/20 20:24, , 7F
03/20 20:24, 7F
→
03/20 20:25, , 8F
03/20 20:25, 8F
推
03/20 20:29, , 9F
03/20 20:29, 9F
→
03/20 20:29, , 10F
03/20 20:29, 10F
→
03/20 20:32, , 11F
03/20 20:32, 11F
剛小弟試著把total2 = total2+num2; 放到while迴圈外
跑出來小弟所需要的了,但是如果輸入多組數字,又會出現不是小弟所需要的結果。
在請教一下各位高手,如果是多組的話,要怎麼跑出正確的結果呢?
※ 編輯: ggyy940 來自: 210.64.151.204 (03/20 20:40)
→
03/20 20:43, , 12F
03/20 20:43, 12F
→
03/20 20:43, , 13F
03/20 20:43, 13F
→
03/20 20:48, , 14F
03/20 20:48, 14F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章