C语言编程,对文件中数据进行处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言编程,对文件中数据进行处理相关的知识,希望对你有一定的参考价值。

对N个数据进行排序,去重,并计算出去重后的极差(最大值-最小值),去重后的平均数
输入:
使用文件输入,输入文件为:data.txt
共两行:
第一行为数据个数N(1<=N<=1000)
第二行为数据(均为正整数,<=1000)用空格隔开
输出:
使用文件输出,输出文件为:data.txt
第一行为去重后数据个数
第二行为去重后数据排列,用空格隔开
第三行为极差和去重后平均数(取整数部分),用空格隔开

读入文件ex.c,并把其中所有的小写字母改为大写字母,其余字符不变,在屏幕上输出。
#include<stdio.h>
main()

FILE *fp;
char ch;
if((fp=fopen("ex.c","r"))==NULL)

printf("Cannot open file strike any key exit!");
getch();
exit(1);

ch=fgetc(fp);
while (ch!=EOF)

if(ch>='a'&&ch<='z')ch-=32;
putchar(ch);
ch=fgetc(fp);

fclose(fp);
参考技术A #define NUM 1000
#include<stdio.h>

void main()

FILE *f;
int num;
int data[50];
int i=0,j=0;
int max,min;
int tmp;
f=fopen("data.txt","r+");
fscanf(f,"%d",&num);

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

if(fscanf(f,"%d",&data[i])==EOF)
break;


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

for(j=i+1;j<num;j++)

if(data[i]==data[j])

data[j]=0;




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

for(j=i+1;j<num;j++)

if(data[i]>data[j])

tmp=data[i];
data[i]=data[j];
data[j]=tmp;




max=data[0];
tmp=0;
for(i=0;data[i]!=0;i++)

tmp+=data[i];
min=data[i];

num=i;

rewind(f);

fprintf(f,"%d\n",num);
for(i=0;data[i]!=0;i++)

fprintf(f,"%d ",data[i]);

fputc('\n',f);
fprintf(f,"%d %f",max-min,((float)tmp)/((float)num));
//fputc(EOF,f);
fclose(f);

这个是从大到小排序 你没告诉我排序方法 如果你要从小到大排序 给我追加50分给你代码 或者你自己改本回答被提问者采纳
参考技术B 这个应该容易把!
自己写的出来!
相信自己!

计算机二级-C语言-程序填空题-190117记录-对文件的处理,复制两个文件,往新文件中写入数据。

//给定程序的功能是,调用函数fun将指定源文件中的内容赋值到指定目标文件中,复制成功时函数返回1,失败时返回0,把复制的内容输出到终端屏幕。主函数中源文件名放在变量sfname中,目标文件名放在变量tfname中。

//重难点:对文件的处理。如何判断文件是否达到末尾,如何往文件中写入数据。

 1 #include    <stdio.h>
 2 #include    <stdlib.h>
 3 int fun(char  *source, char  *target)
 4 {  FILE  *fs,*ft;      char  ch;
 5 /**********found**********/
 6    if((fs=fopen(source, "r"))==NULL)
 7       return 0;
 8    if((ft=fopen(target, "w"))==NULL)
 9       return 0;
10    printf("\nThe data in file :\n");
11    ch=fgetc(fs);//从文件中获取一个数据,
12 /**********found**********/
13    while(!feof(fs))//判断文件是否到达末尾,这里填文件指针。
14    {  
15         putchar( ch );//输出字符
16 /**********found**********/
17         fputc(ch, ft);//往文件里输出
18         ch=fgetc(fs);//再次获取。
19    }
20    fclose(fs);  fclose(ft);
21    printf("\n\n");
22    return  1;
23 }
24 main()
25 {  char  sfname[20] ="myfile1",tfname[20]="myfile2";
26    FILE  *myf;      int  i;      char  c;
27    myf=fopen(sfname,"w");
28    printf("\nThe original data :\n");
29    for(i=1; i<30; i++){ c=A+rand()%25;fprintf(myf,"%c",c); printf("%c",c); }
30    fclose(myf);printf("\n\n");
31    if (fun(sfname, tfname))  printf("Succeed!");
32    else  printf("Fail!");
33 }

 

以上是关于C语言编程,对文件中数据进行处理的主要内容,如果未能解决你的问题,请参考以下文章

基于C语言实现NDVI处理

c语言中时间处理

c语言 define 怎么用的

调用C语言提供的对字符进行处理的库函数时,在#include 命令行应包括的头文件是▁▁▁。

C语言文件

c语言中值滤波问题?