C語言:使用可變引數,實現函式,求函式引數的平均值。
阿新 • • 發佈:2019-01-30
此題的解決思路為:使用可變引數列表,求若干個引數的平均值,所以我們每次呼叫va_arg把它的值累加在sum變數裡,最後讓函式返回sum/n即可求得若干個引數的平均值。
具體程式碼如下:
#include <stdio.h> #include <stdlib.h> #include <stdarg.h> int average(int n, ...) { int i = 0; int sum = 0; va_list arg; va_start(arg, n); for (i = 0; i < n; i++) { sum += va_arg(arg,int); } return sum / n; } int main() { int a = 1; int b = 2; int c = 3; int d = 10; int average1 = average(3, a, b, c); printf("average1=%d\n", average1); int average2 = average(4, a, b, c, d); printf("average2=%d\n", average2); system("pause"); return 0; }