您好,关于C语言,向您请教。想知道如何在这条程序下读取源TXT文件之后,经计算再存储到新TXT文件中。

您好,关于C语言,向您请教。想知道如何在这条程序下读取源TXT文件之后,经计算再存储到新TXT文件中。

#include <stdio.h>

#include <stdlib.h>

#include<math.h>

/*main program*/

int main()

{

float n[831],ave,sd;

int i;

float ave1(int n,float a[]);

float sd1(int n,float b[],float a1);

printf("please enter numbers: ");

for(i=0; i<832; i++)

scanf("%f", &n[i]);

printf("\n");

ave=ave1(10,n);

sd=sd1(10,n,ave);

printf("the average nymber = %f\n", ave);

printf("the standard deviative = %f\n", sd);

return 0;

}

/*verage number*/

float ave1(int n,float a[])

{

int k;

float sum1=0,ave2;

for(k=0;k<832;k++)

sum1=sum1+a[k];

ave2=sum1/n;

return(ave2);

}

/*standard deviative*/

float sd1(int n,float b[], float a1)

{

int k1;

float sum2=0,ave3,sd1;

for(k1=0;k1<832;k1++)

sum2=sum2+pow((b[k1]-a1),2);

ave3=sum2/n;

sd1=sqrt(ave3/(n-1));

return(sd1);

}

如果用命令行,假设输入文件名为in.txt,输出文件名为out.txt,程序名为a.exe,输入一下命令:

a.exe <in.txt >out.txt

或者,把代码改为以下的样子(改动的地方我做了注释):

/*main program*/

int main() {
    float n[831],ave,sd;
    int i;
    /*准备存放文件名,FILENAME_MAX在<stdio.h>中*/
    char in_file_name[FILENAME_MAX], out_file_name[FILENAME_MAX];
    /*文件指针*/
    FILE *inf, outf;
    
    float ave1(int n,float a[]);
    float sd1(int n,float b[],float a1);
    /*提示用户输入文件名……*/
    printf("please enter the input filename: ");
    gets(in_file_name);
    printf("please enter the output filename: ");
    gets(out_file_name);
    /*打开文件……*/
    inf = fopen(in_file_name, "r");
    outf = fopen(out_file_name, "w");
    for(i=0; i<831 /*这里是831*/; i++)
        /*读取文件中的内容,用fscanf*/
        fscanf(inf, "%f", &n[i]);
    /*向文件中写入内容,用fprintf*/
    fprintf(outf, "\n");
    ave=ave1(10,n);
    sd=sd1(10,n,ave);
    fprintf(outf, "the average nymber = %f\n", ave);
    fprintf(outf, "the standard deviative = %f\n", sd);
    /*关闭文件*/
    fclose(inf);
    fclose(outf);
    return 0;
}
/*其余部分不变*/

追问

您好,更改过后,没能把数据存下来。并且系统提示需要在outf前面加上*字符。

追答

不好意思,一个小错误,应该是
FILE *inf, *outf; /*这里少的……*/

追问

非常感谢

追答

满意请采纳

追问

抱歉,第一次用百度知道。非常感谢。

顺便问一下,对于初学者来说的话,看什么书可以最快地提高C语言的能力?

温馨提示:答案为网友推荐,仅供参考
相似回答