當前位置:首頁 » 編程語言 » c語言讀取文件統計
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言讀取文件統計

發布時間: 2022-05-05 09:33:30

c語言讀取文件數據並進行計算(平均值,最值,0的個數)

#include
int main()
{ int i,j,n=0,n0=0,k=0;
double a[10000],s=0,t;
FILE *fp;
char c;
if(!(fp=fopen("text.txt","r")))
{printf("File open error! ");
return 0;
}
for(;fscanf(fp,"%lf%c",&a[n],&c)!=-1;n++)
{if(a[n]==0)n0++;
if(c==' ')k++;
s+=a[n];
printf("%g ",a[n]); //不需要顯示時請把此行刪除
}
if(c==32)k++;
fclose(fp);
for(i=0;i<10;i++)
for(j=0;j<n-1-i;j++)
if(a[j]>a[j+1])
{t=a[j]; a[j]=a[j+1];a[j+1]=t;}
printf(" 平均值:%g ",s/n);
printf("前10個最大的數:");
for(i=n-1;i>n-11;i--)
printf("%g ",a[i]);
printf(" 0的個數:%d ",n0);
printf("共有%d行 ",k);
return 0;
}

Ⅱ C語言如何讀取文本文檔里的數據並計算

#include<iostream>
usingnamespacestd;
intmain()
{
freopen("testin.txt","r",stdin);
freopen("testout.txt","w",stdout);
intn;
cin>>n;
cout<<n<<endl;
fclose(stdin);
fclose(stdout);
return0;
}

如下圖片:

Ⅲ C語言怎麼樣連續讀取文件數據,統計單個文件的數據量

#include<iostream>
#include<fstream>
using namespace std;

#define n 3
int main()
{
int i;
char res[]="result",
suffix[]=".txt",
go_on;
for(i=1;i<=n;i++)
{
char Rname[10],Wname[20];
itoa(i,Rname,10);
strcpy(Wname,Rname);
strcat(Rname,suffix);
strcat(Wname,res);
strcat(Wname,suffix);
cout<<Rname<<':'<<endl;
ifstream infile(Rname,ios::binary);
ofstream outfile(Wname,ios::binary);
if(!infile||!outfile)
{
cerr<<"error"<<endl;
exit(1);
}
int j=0,count=0;
double d,
*dp;
cout<<"數組讀取:"<<endl;

while(!infile.eof())
{
infile>>d;
count++;
}
infile.clear();
infile.seekg(0);
dp=new double[--count];
while(j<count)
{
infile>>dp[j++];
cout<<dp[j-1]<<' ';
if(j%(count/8)==0) cout<<endl;

}
cout<<endl<<"共"<<count<<"個數"<<endl;
infile.clear();
infile.seekg(0);
while(!infile.eof())
{
infile.read((char *)&d,sizeof(d));
outfile.write((char *)&d,sizeof(d));
}
delete []dp;
infile.close();
outfile.close();
cout<<"是否繼續(是:y 否:anykey):";
cin>>go_on;
if(go_on!='Y'&&go_on!='y') break;
system("cls");
}
return 0;
}

Ⅳ C語言小白求問。如何讀取字元串文件,並根據不同長度的單詞統計總共出現的頻率

看你問題演示,是統計一段英文文字中,不同單詞出現次數(但world明明只出現1次,你演示代碼卻輸出的是2)。

如想統計一段文件中的英文單詞出現次數。需實現以下功能:

一、遍歷字元串,通過分割符號空格及標點符號獲取單詞數組。

二、大小寫轉換,把數組單詞全部轉換為大寫或者小寫(識別同一個單詞不同大小寫)。

三、遍歷單詞數組,累加統計每個單詞數量。(可遍歷到第一個單詞作為當前統計對象,之後每遍歷到相同單詞,就將對應變數計數+1,並將該單詞字元串置0)。

思路:可先用fopen打開文件流,之後用fgets把全文讀出到字元串變數。

之後兩個選擇:

1、直接變數字元串,遇字母作為一個單詞開始,遇非字母作為一個字母結束,這樣把所有單詞,拆出來放到字元串數組中。(大小寫轉換可同時進行)。

2、變數字元串將所有標點符號全部替換成空格,再用fprintf寫入覆蓋原文件,再用循環fscanf(返回-1表示讀取結束),將所有以空格間隔的單詞直接讀取到字元串數組。

最後變數字元串數組。

Ⅳ c語言怎麼讀取文件內容並且計算

主要通過fscanf,fprintf格式化輸入輸出函數實現,主要代碼如下,
#include <stdio.h>
int main(int argc, char *argv[])
{
FILE *pf=NULL;
char name[20];//存儲用戶名
float salary=0;//存儲工資
pf=fopen("test.txt", "r+" );//test.txt文件中內容為kobe 90000.80
if(!pf)
{
printf("打開文件失敗,程序退出!");
exit(1);
}
fscanf(pf,"%s %f",name,&salary);
salary*=0.9;//處理工資,例如扣除五險、扣稅等。
fprintf(pf,"\n%f",salary);//寫入test.txt文件中
printf("%s %f\n",name,salary);//輸出kobe 81000.718750
if(pf)//關閉文件
{
fclose( pf);
pf=NULL;
}
return 0;
}

int fscanf( FILE *stream, const char *format, ... );函數fscanf()以scanf()的執行方式從給出的文件流中讀取數據,
fscanf()的返回值是事實上已賦值的變數的數,如果未進行任何分配時返回EOF。
int fprintf( FILE *stream, const char *format, ... );fprintf()函數根據指定的format(格式)發送參數到由stream指定的文件。fprintf()只能和printf()一樣工作,
fprintf()的返回值是輸出的字元數,發生錯誤時返回一個負值。

Ⅵ 您好,請問用c語言如何讀取txt文件中的數據,並統計數據中相同數字的個數

#include <stdio.h>
void main() {
int i,j;
double data[29][34];
FILE *fp;
fp = fopen("Faults_NNA.txt","r");
for(i=0;i<29;i++) {
for(j=0;j<34;j++) {
fscanf(fp,"%6.4f",&data[i][j]);
printf("%6.4f\n",data[i][j]);
}
}
fclose(fp);
}

Ⅶ c語言從文件中讀取數據並統計偶數的個數…請問我錯哪兒了

請去掉fp++;fp文件指針,會自動記錄當前的讀取位置,所以不能fp++;
首先,fread 這個函數你沒有搞懂,你需要看看api
函數原型
size_t fread ( void *buffer, size_t size, size_t count, FILE *stream) ;

參 數
buffer
用於接收數據的內存地址
size
要讀的每個數據項的位元組數,單位是位元組
count
要讀count個數據項,每個數據項size個位元組.
stream
輸入流
返回值
實際讀取的元素個數。如果返回值與count不相同,則可能文件結尾或發生錯誤。從ferror和feof獲取錯誤信息或檢測是否到達文件結尾。
所以你上面的count的應該這樣理解,讀取sizeof(int)個位元組,count的意思是讀取多少個這樣sizeof(int)的位元組;

Ⅷ C語言讀取文件時如何統計函數個數

摘要 如果可以統計起始和結束,那也就是可以統計函數個數!