2012-06-02 118 views
0

我試圖編寫這個程序,它執行以下操作:min/max/avg lang:c

用戶必須輸入10個數字,但也可以選擇停止。

然後程序應該輸出他輸入的數字的最小/最大/平均值。

我被告知使用do/while循環。

我在這裏的代碼,完全卡住了。有人能給我一個骨頭嗎?

#include <stdio.h> 
main(void){ 
    int n; 
    int nummin=5; 
    int nummax=5; 

    printf("Plese input a number between 1-10: "); 
    scanf("%d", &n); 
    while (n < 10 || n > 10) { 
     printf("Please keep the number between 1-10, try again: "); 
     scanf("%d", &n); 
     } 

    if n < nummin 
     n=nummin; 
    else if n > nummax 
     n=nummax; 
+4

如果是這樣的功課,那麼請用'homework'標記它。 – pb2q

+1

'do {...} while()'循環確實比'while(){...}'循環更好。 – glglgl

+2

'(n < 10 || n > 10)'condition and'n = nummin;'and n = nummax;'作業對我來說似乎很陌生...... – glglgl

回答

1

試試這個:

#include <stdio.h> 

int main() { 
    int n, i = 0, min = 11, max = -1, sum = 0; 

    do { 
     printf("Enter a number between 1 and 10, or anything else to stop: "); 
     scanf("%d", &n); 
     if(max < n) max = n; 
     else if(min > n) min = n; 
     sum += n; 
     i++; 
    } while(n <= 10 && n >= 1); 

    printf("Min: %d\n", min); 
    printf("Max: %d\n", max); 
    printf("Avg: %f\n", (float)sum/i); 
}