C語言平均數-1問題?
1 #include “stdio。h”
2
3 #define MAXLEN (10)
4
5 float CalcAverage(float *data, int len)
6 {
7 int i = 0; //用於輪詢資料長度
8 float sum = 0;
9 float aver = 0; //平均值
10
11 for(i = 0; i < len; i++) {
12 sum += *data++; //求和
13 }
14
15 aver = sum / len; //平均值
16
17 return aver;
18 }
19
20 int main(void)
21 {
22 int i = 0;
23 float data[MAXLEN]; //定義MAXLEN個長度的資料
24 float aver = 0;
25
26 for(i = 0; i < MAXLEN; i++) {
27 data[i] = i + 1; //從1開始為data陣列賦值
28 }
29
30 aver = CalcAverage(data, MAXLEN); //求平均值
31
32 printf(“%d data is:”, MAXLEN); //列印提示資訊
33 for(i = 0; i < MAXLEN; i++) {
34 printf(“%。2f ”, data[i]); //輸出資料,顯示兩位小數點
35 }
36 printf(“\n”); //換行
37
38 printf(“Average of %d is: Average = %。2f\n”, MAXLEN, aver); //列印平均值,顯示兩位小數點
39 }
aver函式,用此函式時記得標頭檔案#include
或者可以用兩者之和除以二,記得要定義成float型哦,不然不精確。
再者還可以用較大值減去較小值除以二,再加上這個較小值就行,還是得定義成float型。