所以我有這個數組,我需要找到最小值,最大值和平均值。我已經想出瞭如何獲得最大值,我的代碼看起來是最低限度的,但它不起作用,所以我必須錯過一些東西。我還需要找到輸入數字的平均值。我所能找到的所有東西只有當你擁有數組集合的大小時纔有效。我爲數組設置了最大大小,但不會被用戶輸入填充。我一直在盯着和測試這幾天,但仍然無法弄清楚。需要查找數組中的最大值,最小值,平均值數 - 沒有聲明大小
我知道對於一般的我需要這樣的東西(在頂部加declartions),但我無法弄清楚如何得到它的工作:
for (i = 0; i < numOfGrades; i++) {
sum += grades[i];
}
avg = (double) sum/numOfGrades;
這裏是其餘我代碼:
#include <stdio.h>
int main(){
int grades [100];
int i = 0;
int small, big, input;
printf("Enter a series of grades. When done, enter any number above 100.\n\n");
while (i <= 100) { //while loop to set maximum for array
printf("Enter grade:");
if (scanf("%d", &input) == 1) {
if (input >= 0 && input <=100) {
grades[i] = input; //if good, add to array
i++;
}
else {
printf("\n\nExiting entry.\n");
printf("\n\nGrades entered:\n\n");
i = i - 1;
break; //exiting loop
}
}
}
int x, y;
for (x = 0; x <= i; x++) {
printf("Grade: %d\n", grades[x]); //print array
}
big = small = grades[0];
for (y = 0; y < i; y++) {
if (grades[y] > big) {
big = grades[y];
}
else if (grades[y] < small) {
small = grades[y];
}
}
printf("Highest number : %d\n", big);
printf("Smallest number: %d\n", small);
return 0;
}
如果*初始化*一些值數組(這讓我們說,不能有效的檔次),你可以很容易地識別,當你到達「結束」 ... – StoryTeller
也許1)'我<= 100' -->'I <100' 2)刪除'I = I - 1;'。 3)'x <= i;' -->'x chux
對於你的平均代碼,'numOfGrades'只是'while'循環中的'i'。看看我最終設置的是:用戶輸入的分數。您只需從0循環到該點即可獲得輸入成績的總和。 – computerfreaker