程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言問答 >> c語言程序編寫題目,關於文件的。

c語言程序編寫題目,關於文件的。

編輯:C語言問答

c語言程序編寫題目,關於文件的。

10

已知在正文文件test.txt中存放有120個記錄,每個記錄中只有一個數。在文件中,從第一個數開始,每四個數為一組,第一個數為不同商場的代號(順序號),其余三個數代表三類商品的營業額(萬元)。編寫程序,統計計算並向文件t2.dat輸出各

最佳回答:

test.txt文件內容說明:商品代號為無符號整形數,營業額為浮點數,數據間用空格隔開。

<商場代號> <商品1營業額> <商品2營業額> <商品3營業額>

實例:

3023 56.98 98.2 36.81
3024 45.36 45.87 98.57
3025 13.96 79.58 45
3026 32.14 85.2 69.1

 

數據讀取方法:fscanf(FILE *fp,"%u %lf %lf %lf",&code,&turnover1,&turnover2,&turnover3);

t2.txt文件的內容:180.580000 394.050000 318.580000

程序如下:

#include <stdio.h>
#include <stdlib.h>

int main() {
 unsigned int i,code,n;
 double turnover1,turnover2,turnover3;
 double sum1 = 0.0,sum2 = 0.0,sum3 = 0.0;
 FILE *infp,*outfp;
 infp = fopen("F:\\VC\\test.txt","rt");
 outfp = fopen("F:\\VC\\t2.txt","wt");
 if((infp == NULL) || (outfp == NULL)) {
  printf("無法打開文件,請檢查。\n");
  exit(1); // 程序退出碼1,表示打開文件錯。
 }
 printf("請輸入記錄數量:");
 scanf("%d",&n);
 for(i = 0;i < n;i++) {
  fscanf(infp,"%u %lf %lf %lf",&code,&turnover1,&turnover2,&turnover3);
  sum1 += turnover1;
  sum2 += turnover2;
  sum3 += turnover3;
 }
 fclose(infp);
 fprintf(outfp,"%lf %lf %lf",sum1,sum2,sum3);
 fclose(outfp);
 return 0; // 程序退出碼0,表示正常結束程序。
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved