我的程序假設讀取多個輸入並顯示最小值,最大值,總和和平均值。它應該是這樣的:在c中使用scanf和循環輸入多個雙精度數據,並且沒有數組循環
輸入:
2.5 5 3.5 4.5 jfkjk
輸出:
min is 2.5
max is 5
sum is 15.5
average is 3.875
該方案被認爲當它到達一個非數字或一個換行符退出。用戶可以輸入儘可能多的數字。我不能使用數組,並且必須使用循環。 這是我的計劃是什麼樣子:
void numbers()
{
double digit;
double sum = 0;
double avg = 0;
double max;
double min;
unsigned count = 0;
//int c;
max = 0;
printf("Input:");
do {
scanf("%lf", &digit);
min = digit;
if(max < digit)
digit = max;
if(min < digit)
digit = min;
sum += digit;
count++;
avg = sum/count;
} while(scanf("%lf", &digit)==1)
printf(" min is %lf max is %lf sum is %lf avg is %lf count is %u", min, max, sum, avg, count);
}
打印出:
Input:2.2 2.3 5 3.5 blah
min is 3.500000 max is 0.000000 sum is 0.000000 avg is 0.000000 count is 4
先用正確的輸入檢查你的程序,然後嘗試further.see Liho答案,並使用一個scanf函數與環路和移動scanf函數內部循環來之前。 – Gangadhar