<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      // 從文本文件file1.dat中讀取數(shù)據(jù),找出最高分和最低分學生信息,并輸出在屏幕上
      #include <stdio.h> 
      #include <stdlib.h>
      
      #define N 10
      
      // 定義一個結構體類型STU 
      typedef struct student {
          int num;
          char name[20];
          int score;
      }STU;
      
      int main() {
          STU st, stmax, stmin;
          int i;
          FILE *fp;
          
          // 以只讀文本方式打開文件file1.dat 
          fp = fopen("file1.dat", "r");
          if( !fp ) {  // 如果打開失敗,則輸出錯誤提示信息,然后退出程序 
              printf("fail to open file1.dat\n");
              exit(0);
          }
          
          stmax.score = 0;    // 先假定最高分是0,后面如發(fā)現(xiàn)比當前最高分還高的分數(shù),就更新最高分 
          stmin.score = 100;    // 先假定最低分是100分,后面如發(fā)現(xiàn)比當前最低分更低的分數(shù),就更新最低分 
          
          while( !feof(fp) ){
              fscanf(fp, "%d %s %d", &st.num, st.name, &st.score);  // 從fp指定的文件中格式化讀取一個學生信息
              
              if(st.score > stmax.score)
                  stmax = st;
              else if(st.score < stmin.score)
                  stmin = st; 
          } 
          
          fclose(fp);
          
          printf("最高分學生信息: %5d%15s%5d\n", stmax.num, stmax.name, stmax.score);
          printf("最低分學生信息: %5d%15s%5d\n", stmin.num, stmin.name, stmin.score);
      
          return 0;
      }
      
      // 這是《C語言程序設計教程學習指導》「2.10 文件」中的實驗,細微處做了微調
      // 這個源代碼沒有考慮多個高分或多個低分的情形。

      2 比較1-3與1-4的編程語句

      1-3寫入文件的操作:

      // 將排序后的數(shù)組st中數(shù)據(jù)輸出到屏幕,同時,也寫入文件file3.dat
      for(i=0; i<N; i++) {
      printf("%-6d%-10s%3d\n", st[i].num, st[i].name, st[i].score);
      fprintf(fout, "%-6d%-10s%3d\n", st[i].num, st[i].name, st[i].score);
      }

      fclose(fout); // 關閉fout指向的文件file3.dat

      1-4中:

      // 將排序后的數(shù)組st中數(shù)據(jù)輸出到屏幕
      for(i=0; i<N; i++)
      printf("%-6d%-10s%3d\n", st[i].num, st[i].name, st[i].score);

      // 將排序后的數(shù)組st中數(shù)據(jù)寫到二進制文件file4.dat
      fwrite(st, sizeof(STU), N, fout); // 將從地址st開始的sizeof(STU)×N個字節(jié)信息寫入fout指向的文件file4.dat中

      fclose(fout); // 關閉fout指向的文件file4.dat

      1-3用的是fprint1-4則是fwrite

      區(qū)別:文本文件的每個數(shù)字都是用二進制方式儲存的,所以sizeof語句可以把十進制的數(shù)字變成二進制。

      3 :補足ex2的程序并修改examinee的數(shù)據(jù)運行程序;

      #include <stdio.h>
      #include <string.h>
      #include <stdlib.h>
      const int N = 10;
      
      // 定義結構體類型struct student,并定義其別名為STU 
      typedef struct student {
          long int id;
          char name[20];
          float objective;    /*客觀題得分*/
          float subjective;    /*操作題得分*/
          float sum;
          char level[10];    
      }STU; 
      
      // 函數(shù)聲明
      void input(STU s[], int n);
      void output(STU s[], int n);
      void process(STU s[], int n);
      
      int main() {
          STU stu[N];
          printf("錄入%d個考生信息: 準考證號,姓名,客觀題得分(<=40),操作題得分(<=60)\n", N); 
          input(stu, N);
          
          printf("\n對考生信息進行處理: 計算總分,確定等級\n");
          process(stu, N);
          
          printf("\n打印考生完整信息: 準考證號,姓名,客觀題得分,操作題得分,總分,等級\n");
          output(stu, N); 
          
          return 0;
      } 
      
      // 從文本文件examinee.txt讀入考生信息:準考證號,姓名,客觀題得分,操作題得分
      void input(STU s[], int n) {
          FILE *fout;
          int i;
          fout = fopen("examinee.txt", "w");
          if (fout == NULL) {
              printf("fail to open or create examinee.txt\n");
              exit(0);
          }
          for(i=0; i<N; i++) {
              fscanf(fout, "%d %s  %f %f ", &s[i].id, s[i].name, &s[i].objective,&s[i].subjective); }
          fclose(fout);
      }
      
      // 輸出考生完整信息: 準考證號,姓名,客觀題得分,操作題得分,總分,等級
      // 不僅輸出到屏幕上,還寫到文本文件result.txt中 
      void output(STU s[], int n) {
          FILE *fin;
          int i;
          for(i=0;i<N;i++){
          printf("%d %s &f %f %f %s",&s[i].id, &s[i].name,&s[i].objective, &s[i].subjective,&s[i].sum, &s[i].level);}
          fin = fopen("result.txt","w");
          for(i=0;i<N;i++){
          fprintf  (fin,"%d %s &f %f %f %s",&s[i].id, &s[i].name,&s[i].objective, &s[i].subjective,&s[i].sum, &s[i].level);}
          if( !fin ) { 
              printf("fail to open result.txt \n");
              exit(0);
      }
      } 
      
      // 對考生信息進行處理:計算總分,排序,確定等級
      void process(STU s[], int n) {
          int i;
          for(i=0;i<=N;i++){
              s[i].sum = 0.4*s[i].objective + 0.6*s[i].subjective;
          }
          STU *pi, *pj, t,*pst;
          
          for(pi = pst; pi < pst+n-1; pi++)
              for(pj = pi+1; pj < pst+n; pj++) 
                  if(pi->sum < pj->sum) {
                      t = *pi;
                      *pi = *pj;
                      *pj = t; 
                  }
          for(i=0;i<=N;i++){
          if(i<N*0.1)
             strcpy(s[i].level,"優(yōu)秀");
          if(i>=N*0.1&&i<=N*0.5) 
             strcpy(s[i].level,"合格");
          else 
             strcpy(s[i].level,"不合格"); 
      }
      }

       

      posted on 2019-06-23 23:57  tnff  閱讀(117)  評論(0)    收藏  舉報

      主站蜘蛛池模板: 国产老肥熟一区二区三区| 国产熟睡乱子伦视频在线播放| 樱花草视频www日本韩国| 男人和女人做爽爽免费视频| √天堂中文www官网在线| 国产精品爽黄69天堂a| 国产一区二区三区小说| 亚洲永久精品免费在线看| 亚洲熟妇自偷自拍另欧美| 亚洲色大成网站WWW久久| 国产精品亚洲av三区色| 欧美亚洲综合成人A∨在线| 四虎精品视频永久免费| 综合图区亚洲另类偷窥| 亚洲a毛片| 久久人人爽人人爽人人av| 国产乱码日产乱码精品精| 国产精品美人久久久久久AV| 精品一卡2卡三卡4卡乱码精品视频| 久热色视频精品在线观看| 国产97人人超碰CAO蜜芽PROM| 办公室强奷漂亮少妇视频| 精品国产伦理国产无遮挡| 丰满少妇在线观看网站| 亚洲AV高清一区二区三区尤物| 美国又粗又长久久性黄大片| 国产精品亚洲mnbav网站| 欧美 亚洲 另类 丝袜 自拍 动漫| 日韩在线观看精品亚洲| 成av免费大片黄在线观看| 国产熟女一区二区三区四区 | 精品免费看国产一区二区| 国产成人无码aa精品一区| 日本久久一区二区三区高清| 无码免费大香伊蕉在人线国产| 久青草国产在视频在线观看| caoporn免费视频公开| 亚洲色无码播放亚洲成av| 999福利激情视频| 自拍偷拍一区二区三区四| 亚洲 欧美 综合 在线 精品|