我想計算用戶輸入的高低溫度的平均值,並且可以包含的天數在1到4之間,但是我很難理解去做這件事。我寫的代碼產生了一個完全不相關的數字。這裏是我的代碼:計算數組部分的平均值
#include <stdio.h>
int main (void)
{
int i;
int limit;
int day[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int high[10],low[10];
printf("---===IPC Temperature Analyzer V2.0===---\n");
printf("Please enter the number of days between 3 and 10, inclusive: ");
scanf("%d", &limit);
while (limit <= 2 || limit >= 11) {
printf("Invalid entry, please enter a number between 3 and 10, inclusive: ");
scanf("%d", &limit);
}
for(i = 0;i < limit; i++) {
printf("Day %d - High: ", day[i]);
scanf("%d", &high[i]);
printf("Day %d - Low: ", day[i]);
scanf("%d", &low[i]);
}
printf("\nDay Hi Low\n");
for (i = 0; i < limit; i++) {
printf("%d %d %d\n", day[i], high[i], low[i]);
}
int max = 0;
int min = 0;
for (i = 0; i < limit; i++) {
if (high[max] < high[i])
max = i;
if (low[min] < low[i])
min = i;
}
printf("\nHighest temperature was: %d on day %d", high[max], day[max]);
printf("\nLowest temperature was: %d on day %d ", low[min], day[min]);
int n;
int avg = high[i] + low[i]/i;
printf("\nEnter a number between 1 and 4 to see the average temperature for the entered number of days, enter a negative number to exit\n");
scanf("%d", &n);
while (n > 4) {
printf("Invalid entry, please enter a number between 1 and 4, inclusive: ");
scanf("%d", &n);
}
while (n < 0) {
printf("Goodbye!\n");
exit(0);
}
for (i = 0; i < n; i++) {
printf ("The average temperature up to day %d is: %d", day[i], avg);
}
return 0;
}
你計算的唯一地方'avg'是'INT平均=高[1] +低[I]/I;'你可能要考慮一下i'的'值是在該點在你的程序中。在上一次循環中,這個數字也不會改變,所以難怪它會反覆報告。 – WhozCraig