|  | 
 
| 
如题 ,麻烦各位大佬给个思路!
x
马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有账号?立即注册  
你的要求是给个思路,所以下面的程序是能够满足你的(原因是下面的程序读取数据时少读一个,我还没找到原因,这就要求你的数据要多加一个)。在D盘下建立一个 data.txt 文件,写入数据: 
182 198 188 175 185 184 175 178 192 176 0 
 
( 最后这个 0 就是那个多余的数据,当然也可以是任何的数,反正也不会读到它)
 复制代码// 从文本文件"data.txt"中取出数据,并计算平均值,方差
#include<stdio.h>
#include <math.h>
#define hh printf("\n===================================\n");
void main()
{
    FILE *fp; 
    float a[520],x,avr,fc,sum = 0.0;
    int i,k = 0;
    fp = fopen("D:\\data.txt","r");
    if(fp == NULL)
    {
        printf("文件打开失败!\n");
    }
    else
    { 
        printf("读取数据:\n");
        fscanf(fp,"%f",&x);
        while(fgetc(fp) != EOF)    // 读取文件数据 x
        {
            a[k++] = x;
            printf("%.0f ",x);
            sum += x;
            fscanf(fp,"%f",&x);
        }
        avr = sum / k;             // k 为读到的数据个数
        sum = 0; 
        for(i = 0;i < k;i++)
        {
            sum += (a[i] - avr) * (a[i] - avr);
        }
        fc = sum / (k - 1);
        hh
        printf("  读取个数:%d\n",k);
        printf("  平 均 值:%.2f\n",avr);
        printf("  方    差:%.2f\n",fc);
    }
    hh
    fclose(fp);
}
 | 
 |