<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                設學生信息包括學號,姓名和五門功課的成績,要求編寫輸入輸出 學生信息的函數。在輸入一組學生信息后,以學生成績的總分從高 到低順序輸出學生信息。 這個相對來說比較簡單,可以創建一個學生的結構體,結構體里面有三個成員:學號,姓名和五門功課的成績。下面請看一下我的整體代碼。這個思路也比較簡單,主要是為了練習使用結構體。 ~~~ #include <stdio.h> #include <stdlib.h> #include <string.h> #define N 200 #define SCORES 5 #define NUMLEN 10 /** * 設學生信息包括學號,姓名和五門功課的成績,要求編寫輸入輸出 * 學生信息的函數。在輸入一組學生信息后,以學生成績的總分從高 * 到低順序輸出學生信息。 */ struct student{ char number[NUMLEN]; /* 學號 */ char *name; /* 學生姓名 */ int scores[SCORES]; /* 學生五門功課的成績 */ }; struct student stus[N]; int order[N]; int total[N]; int readstu(struct student *stu){ int len,j; char buf[120]; //緩沖區 printf("Number : "); if(scanf("%s",buf) == 1){ strncpy(stu->number,buf,NUMLEN-1); }else{ return 0; //ctrl+z退出 } printf("Name : "); if(scanf("%s",buf) == 1){ len = strlen(buf); stu->name = (char *)malloc(len+1); strcpy(stu->name,buf); }else{ return 0; } printf("Scores : "); for(j = 0;j < SCORES;j++) if(scanf("%d",stu->scores+j) != 1) break; if(j == 0){ //一個成績也沒有錄入,清空name所占有的內存 free(stu->name); return 0; } for(;j<SCORES;j++) stu->scores[j] = 0; return 1; } /* 輸出學生信息 */ void writeStu(struct student *stu){ int i; printf("Number : %s\n",stu->number); printf("Name : %s\n",stu->name); printf("Scores : "); for(i = 0;i < SCORES;i++) printf("%4d ",stu->scores[i]); printf("\n\n"); } int main() { int n,i,j,t; //獲取學生信息 for(n = 0; readstu(stus+n); n++); for(i = 0;i < n;i++){ order[i] = i; for(t = 0,j = 0;j < SCORES;j++){ t += stus[i].scores[j]; } total[i] = t; } //冒泡排序輸出 for(i = 0;i < n;i++){ for(j = 0;j < n-1;j++){ if(total[order[j]] < total[order[j+1]]){ //交換 t = order[j]; order[j] = order[j+1]; order[j+1] = t; } } } for(j = 0;j <n;j++){ writeStu(stus+order[j]); } return 0; } ~~~ 下面是我的輸出的結果: ![這里寫圖片描述](https://box.kancloud.cn/2016-05-24_5743c07659f9d.jpg "")
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看