如果我將一個txt檔寫進來後,將要對內容中的數值做計算,
第一列是屬性,而第二列開始才是數值,我是要將第二列
以後的數值做運算,例如:
Name Sex Age
Alice female 30
Bob male 23
Tom male 34
在這txt檔中,我想對age取平均,這就是我的問題,謝謝!
2007-01-04 17:05:19 · 2 個解答 · 發問者 Houston 1 in 電腦與網際網路 ➔ 程式設計
age 有30, 23,34三個數值,它們算是age這屬性的數值,要如何從txt檔
中抓取這幾個數值
2007-01-04 18:08:08 · update #1
針對心冷的問題:不會改變,就單一age欄位那些值的平均。
2007-01-05 05:27:54 · update #2
//Power by Microsoft Visual Studio 2005
//可以使用 Dev-C++ 編譯此程式
#include
#include
#include
#ifndef _MAX_ENV
#define _MAX_ENV 32767
#endif
int main(int argc, char *argv[]){
//=====START=====//
FILE *f1;
int age[3],i=0;
double total=0;
char BUFFER[_MAX_ENV],NAME[_MAX_ENV],SEX[_MAX_ENV],AGE[_MAX_ENV];
char *filename="data.txt",*Token;
f1=fopen(filename,"r");
if(f1!=NULL){
fgets(BUFFER,_MAX_ENV,f1);
while(!feof(f1)){
fgets(BUFFER,_MAX_ENV,f1);
if(strcmp(BUFFER,"")!=0){
Token=strtok(BUFFER," ");
strcpy(NAME,Token);
Token=strtok(NULL," ");
strcpy(SEX,Token);
Token=strtok(NULL," ");
strcpy(AGE,Token);
*(age+i++)=atoi(AGE);
strcpy(BUFFER,"");
}
}
fclose(f1);
}
for(i=0;i<3;i++){
total+=*(age+i);
}
printf("平均 %.2lf 歲\\n",total/3);
//=====END=====//
system("PAUSE");
return 0;
}
2007-01-04 21:34:14 · answer #1 · answered by Big_John-tw 7 · 0⤊ 0⤋
請問輸入的資料當中第一列是屬性 是否會改變如您的例子是
Name Sex Age
變成
Name Chiness English Math
Alice 90 100 99
Bob 20 59 60
Tom 99 99 99
然後對English 做平均.
會不會有這樣的改變呢?
2007-01-05 04:16:18 · answer #2 · answered by SiYu 5 · 0⤊ 0⤋