求平均值
编写一个程序,计算从键盘输入的任意个浮点数的平均值,将所有的数存储到动态分配的内存中,之后计算并显示平均值,用户不用事先指定要输入多少个数。
#include <stdio.h> #include <stdlib.h> #include <string.h> #define N 100 #define D 100 int main(void) { char a[N] = {'\0'}; char *p[D] = {NULL}; int i = 0; int m = 0; double n = 0.0; printf("请输入任意个浮点数,再一次按回车结束:\n"); while((*fgets(a, N, stdin) != '\n') && i < N) { p[i] = (char *)malloc(strlen(a) + 1); if(p[i] == NULL) { printf("内存不足!\n"); return 1; } strcpy(p[i++], a); } m = i; for(i = 0; i < m; i++) { n = n + atof(p[i]); free(p[i]); p[i] = NULL; } printf("平均值是:%lf\n", n/((double)m)); return 0; }