C语言编程,对文件中数据进行处理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言编程,对文件中数据进行处理相关的知识,希望对你有一定的参考价值。
对N个数据进行排序,去重,并计算出去重后的极差(最大值-最小值),去重后的平均数
输入:
使用文件输入,输入文件为:data.txt
共两行:
第一行为数据个数N(1<=N<=1000)
第二行为数据(均为正整数,<=1000)用空格隔开
输出:
使用文件输出,输出文件为:data.txt
第一行为去重后数据个数
第二行为去重后数据排列,用空格隔开
第三行为极差和去重后平均数(取整数部分),用空格隔开
#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语言编程,对文件中数据进行处理的主要内容,如果未能解决你的问题,请参考以下文章