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

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

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      daizybroa

      導(dǎo)航

      task6

      task1

        1 // P286例8.17
        2 // 對教材示例代碼作了微調(diào),把輸出學(xué)生信息單獨(dú)編寫成一個(gè)函數(shù)模塊
        3 // 打印不及格學(xué)生信息、打印所有學(xué)生信息均調(diào)用該模塊實(shí)現(xiàn)
        4  
        5 #include <stdio.h>
        6 #include <string.h> 
        7 #define N 2        // 運(yùn)行程序輸入測試時(shí),可以把N改小一些輸入測試 
        8 
        9 typedef struct student {
       10     int id;             // 學(xué)號(hào) 
       11     char name[20];         // 姓名 
       12     char subject[20];     // 考試科目
       13     double perf;         // 平時(shí)成績 
       14     double mid;         // 期中成績 
       15     double final;         // 期末成績
       16     double total;         // 總評(píng)成績 
       17     char level[10];     // 成績等級(jí)
       18 } STU;
       19 
       20 void input(STU [], int);            // 錄入學(xué)生信息
       21 void output(STU [], int);            // 輸出學(xué)生信息
       22 void calc(STU [], int);                // 計(jì)算總評(píng)和等級(jí) 
       23 int fail(STU [], STU [], int);        // 統(tǒng)計(jì)不及格學(xué)生信息
       24 void sort(STU [], int);                // 排序 
       25 
       26 int main() {
       27     STU st[N], fst[N];   // 數(shù)組st記錄學(xué)生信息,fst記錄不及格學(xué)生信息 
       28     int k;  // 用于記錄不及格學(xué)生個(gè)數(shù) 
       29     
       30     printf("錄入學(xué)生成績信息:\n");
       31     input(st, N);
       32     
       33     printf("\n成績處理...\n");
       34     calc(st, N);
       35     
       36     k = fail(st, fst, N);
       37     sort(st, N);
       38     printf("\n學(xué)生成績排名情況:\n");
       39     output(st, N);
       40     
       41     printf("\n不及格學(xué)生信息:\n");
       42     output(fst, k);
       43     
       44     return 0;
       45 } 
       46 
       47 void input(STU s[], int n) {
       48     int i;
       49     
       50     for(i = 0; i < n; i++)
       51         scanf("%d %s %s %lf %lf %lf", &s[i].id, s[i].name, s[i].subject,
       52                                       &s[i].perf, &s[i].mid, &s[i].final);
       53 }
       54 
       55 void output(STU s[], int n) {
       56        int i;
       57    
       58       printf("-----------------\n");
       59       printf("學(xué)號(hào)   姓名     科目   平時(shí)   期中   期末   總評(píng)   等級(jí)\n");
       60        for(i = 0; i<n; i++)
       61           printf("%d   %-6s   %-4s   %-4.0f   %-4.0f   %-4.0f   %-4.1f   %s\n",s[i].id,s[i].name,s[i].subject,s[i].perf,s[i].mid,s[i].final,s[i].total,s[i].level);
       62 }
       63 
       64 
       65 void calc(STU s[],int n) {
       66     int i;
       67 
       68     for(i = 0; i < n; i++) {    
       69         s[i].total = s[i].perf * 0.2 + 
       70                      s[i].mid * 0.2 +
       71                      s[i].final * 0.6;
       72         
       73         if(s[i].total >= 90)
       74           strcpy(s[i].level, "優(yōu)");
       75         else if(s[i].total >= 80)
       76           strcpy(s[i].level, "");
       77         else if(s[i].total >= 70)
       78           strcpy(s[i].level, ""); 
       79         else if(s[i].total >= 60)
       80           strcpy(s[i].level, "及格");
       81         else
       82           strcpy(s[i].level, "不及格");         
       83     }
       84 }
       85 
       86 int fail(STU s[], STU t[], int n) {
       87       int i, cnt = 0;
       88       
       89       for(i = 0; i < n; i++)
       90           if(s[i].total < 60)
       91             t[cnt++] = s[i];
       92             
       93     return cnt;
       94 }
       95 
       96 void sort(STU s[], int n) {
       97     int i, j;
       98     STU t;
       99     
      100     for(i = 0; i < n-1; i++)
      101       for(j = 0; j < n-1-i; j++)
      102         if(s[j].total < s[j+1].total) {
      103             t = s[j];
      104             s[j] = s[j+1];
      105             s[j+1] = t;
      106         }
      107 }

       

       task2

       1 #include <stdio.h>
       2 #include <string.h>
       3 #define N 10
       4 #define M 80
       5 
       6 typedef struct {
       7     char name[M];       // 書名
       8     char author[M];     // 作者
       9 } Book;
      10 
      11 int main() {
      12     Book x[N] = { {"《一九八四》", "喬治.奧威爾"},
      13                   {"《美麗新世界》", "赫胥黎"},
      14                   {"《昨日的世界》", "斯蒂芬.茨威格"},
      15                   {"《萬歷十五年》", "黃仁宇"},
      16                   {"《一只特立獨(dú)行的豬》", "王小波"},
      17                   {"《百年孤獨(dú)》", "馬爾克斯"},
      18                   {"《查令十字街84號(hào)》", "海蓮.漢芙"},
      19                   {"《只是孩子》", "帕蒂.史密斯"},
      20                   {"《刀鋒》", "毛姆"},
      21                   {"《沉默的大多數(shù)》", "王小波"} };
      22     Book* ptr;
      23     int i;
      24     char author[M];
      25     int found;
      26 
      27     // 使用指針遍歷結(jié)構(gòu)體數(shù)組
      28     printf("-------------------所有圖書信息-------------------\n");
      29     for (ptr = x; ptr < x + N; ++ptr)
      30         printf("%-30s%-30s\n", ptr->name, ptr->author);
      31 
      32     // 查找指定作者的圖書
      33     printf("\n-------------------按作者查詢圖書-------------------\n");
      34     printf("輸入作者名: ");
      35     gets_s(author);
      36     found = 0;
      37     for (ptr = x; ptr < x + N; ++ptr)
      38         if (strcmp(ptr->author, author) == 0) {
      39             found = 1;
      40             printf("%-30s%-30s\n", ptr->name, ptr->author);
      41         }
      42 
      43     if (!found)
      44         printf("暫未收錄該作者書籍!\n");
      45 
      46     return 0;
      47 }

       

       task3.1

       1 #include <stdio.h>
       2 #include <stdlib.h>
       3 #define N 80
       4 
       5 typedef struct FilmInfo {
       6     char name[N];
       7     char director[N];
       8     char region[N];
       9     int year;
      10     struct FilmInfo *next;
      11 } Film;
      12 
      13 
      14 void output(Film *head);   // 遍歷輸出鏈表信息
      15 Film *insert(Film *head, int n);   // 向鏈表中插入n個(gè)結(jié)點(diǎn),返回頭指針
      16 
      17 
      18 int main() {
      19     int n;          // 結(jié)點(diǎn)數(shù)
      20     Film *head;     // 頭指針變量,存放鏈表中第一個(gè)節(jié)點(diǎn)的地址
      21 
      22     head = NULL;
      23     printf("輸入影片數(shù)目: ");
      24     scanf("%d", &n);
      25 
      26     // 向鏈表中插入n部影片信息
      27     head = insert(head, n);
      28 
      29     // 遍歷輸出鏈表中所有影片信息
      30     printf("\n所有影片信息如下: \n");
      31     output(head);
      32 
      33     return 0;
      34 }
      35 
      36 // 向鏈表中插入n個(gè)結(jié)點(diǎn),從表頭插入,返回頭指針變量
      37 Film *insert(Film *head, int n) {
      38     int i;
      39     Film *p;
      40 
      41     for(i = 1; i <= n; ++i) {
      42         p = (Film *)malloc(sizeof(Film));
      43         printf("請輸入第%d部影片信息: ", i);
      44         scanf("%s %s %s %d", p->name, p->director, p->region, &p->year);
      45         
      46         // 把結(jié)點(diǎn)從表頭插入到鏈表中
      47         p->next = head;
      48         head = p;   // 更新頭指針變量
      49     }
      50 
      51     return head;
      52 }
      53 
      54 // 遍歷輸出鏈表信息
      55 void output(Film *head) {
      56     Film *p;
      57 
      58     p = head;
      59     while(p != NULL) {
      60         printf("%-20s %-20s %-20s %d\n", p->name, p->director, p->region, p->year);
      61         p = p -> next;
      62     }
      63 }

       task3.2

       1 #include <stdio.h>
       2 #include <stdlib.h>
       3 #define N 80
       4 
       5 typedef struct FilmInfo {
       6     char name[N];
       7     char director[N];
       8     char region[N];
       9     int year;
      10     struct FilmInfo *next;
      11 } Film;
      12 
      13 
      14 void output(Film *head);   // 遍歷輸出鏈表信息
      15 Film *insert(Film *head, int n);   // 向鏈表中插入n個(gè)結(jié)點(diǎn),返回頭指針
      16 
      17 
      18 int main() {
      19     int n;          // 結(jié)點(diǎn)數(shù)
      20     Film *head;     // 頭指針變量,存放鏈表中第一個(gè)節(jié)點(diǎn)的地址
      21     Film *p;        // 存放新申請的Film節(jié)點(diǎn)內(nèi)存空間地址
      22 
      23     // 創(chuàng)建頭結(jié)點(diǎn)
      24     p = (Film *)malloc(sizeof(Film));
      25     p->next = NULL;
      26     head = p;       // 頭指針變量存放頭節(jié)點(diǎn)的地址
      27 
      28     printf("輸入影片數(shù)目: ");
      29     scanf("%d", &n);
      30 
      31     // 向鏈表中插入n部影片信息
      32     head = insert(head, n);
      33 
      34     // 遍歷輸出鏈表中所有影片信息
      35     printf("\n所有影片信息如下: \n");
      36     output(head);
      37 
      38     return 0;
      39 }
      40 
      41 // 向鏈表中插入n個(gè)結(jié)點(diǎn),從表頭插入,返回頭指針變量
      42 Film *insert(Film *head, int n) {
      43     int i;
      44     Film *p;
      45 
      46     for(i = 1; i <= n; ++i) {
      47         p = (Film *)malloc(sizeof(Film));
      48         printf("請輸入第%d部影片信息: ", i);
      49         scanf("%s %s %s %d", p->name, p->director, p->region, &p->year);
      50         
      51         // 把結(jié)點(diǎn)從表頭插入到鏈表中
      52         p->next = head->next;
      53         head->next = p;
      54     }
      55 
      56     return head;
      57 }
      58 
      59 // 遍歷輸出鏈表信息
      60 void output(Film *head) {
      61     Film *p;
      62 
      63     p = head->next;
      64     while(p != NULL) {
      65         printf("%-20s %-20s %-20s %d\n", p->name, p->director, p->region, p->year);
      66         p = p -> next;
      67     }
      68 }

      task4

       1 #include <stdio.h>
       2 #define N 10
       3 
       4 typedef struct {
       5     char isbn[20];          // isbn號(hào)
       6     char name[80];          // 書名
       7     char author[80];        // 作者
       8     double sales_price;     // 售價(jià)
       9     int  sales_count;       // 銷售冊數(shù)
      10 } Book;
      11 
      12 void output(Book x[], int n);
      13 void sort(Book x[], int n);
      14 double sales_amount(Book x[], int n);
      15 
      16 int main() {
      17     Book x[N] = { {"978-7-5327-6082-4", "門將之死", "羅納德.倫", 42, 51},
      18                  {"978-7-308-17047-5", "自由與愛之地:入以色列記", "云也退", 49 , 30},
      19                  {"978-7-5404-9344-8", "倫敦人", "克萊格泰勒", 68, 27},
      20                  {"978-7-5447-5246-6", "軟件體的生命周期", "特德姜", 35, 90},
      21                  {"978-7-5722-5475-8", "芯片簡史", "汪波", 74.9, 49},
      22                  {"978-7-5133-5750-0", "主機(jī)戰(zhàn)爭", "布萊克.J.哈里斯", 128, 42},
      23                  {"978-7-2011-4617-1", "世界盡頭的咖啡館", "約翰·史崔勒基", 22.5, 44},
      24                  {"978-7-5133-5109-6", "你好外星人", "英國未來出版集團(tuán)", 118, 42},
      25                  {"978-7-1155-0509-5", "無窮的開始:世界進(jìn)步的本源", "戴維·多伊奇", 37.5, 55},
      26                  {"978-7-229-14156-1", "源泉", "安.蘭德", 84, 59} };
      27 
      28     printf("圖書銷量排名(按銷售冊數(shù)): \n");
      29     sort(x, N);
      30     output(x, N);
      31 
      32     printf("\n圖書銷售總額: %.2f\n", sales_amount(x, N));
      33 
      34     return 0;
      35 }
      36 
      37 // 待補(bǔ)足:函數(shù)output()實(shí)現(xiàn)
      38 void output(Book x[], int n) {
      39     int i;
      40     printf("ISBN號(hào)              書名                     作者                售價(jià)                銷售冊數(shù)\n");
      41     for (i = 0; i < n; ++i) {
      42         printf("%-20s%-25s%-20s%-20.2f%d\n", x[i].isbn, x[i].name, x[i].author, x[i].sales_price, x[i].sales_count);
      43     }
      44 }
      45 
      46 
      47 // 待補(bǔ)足:函數(shù)sort()實(shí)現(xiàn)
      48 void sort(Book x[], int n)
      49  {
      50     int i, j;
      51     Book temp;
      52     for (i = 0; i < n - 1; i++){
      53         for (j = 0; j < n - i - 1; j++)
      54         {
      55             if (x[j].sales_count < x[j + 1].sales_count)
      56             {
      57                 temp = x[j];
      58                 x[j] = x[j + 1];
      59                 x[j + 1] = temp;
      60             }
      61         }
      62     }
      63 }
      64 
      65 
      66 // 待補(bǔ)足:函數(shù)sales_count()實(shí)現(xiàn)
      67 double sales_amount(Book x[], int n) {
      68     int i;
      69     double num = 0;
      70     for (i = 0; i < n; i++) {
      71         num += x[i].sales_count * x[i].sales_price;
      72         
      73     }
      74     return num;
      75 }

       task5

       1 #include <stdio.h>
       2 #include <stdlib.h>
       3 
       4 typedef struct {
       5     int year;
       6     int month;
       7     int day;
       8 } Date;
       9 
      10 // 函數(shù)聲明
      11 void input(Date* pd);                   // 輸入日期給pd指向的Date變量
      12 int day_of_year(Date d);                // 返回日期d是這一年的第多少天
      13 int compare_dates(Date d1, Date d2);    // 比較兩個(gè)日期: 
      14 // 如果d1在d2之前,返回-1;
      15 // 如果d1在d2之后,返回1
      16 // 如果d1和d2相同,返回0
      17 
      18 void test1() {
      19     Date d;
      20     int i;
      21 
      22     printf("輸入日期:(以形如2025-06-01這樣的形式輸入)\n");
      23     for (i = 0; i < 3; ++i) {
      24         input(&d);
      25         printf("%d-%02d-%02d是這一年中第%d天\n\n", d.year, d.month, d.day, day_of_year(d));
      26     }
      27 }
      28 
      29 void test2() {
      30     Date Alice_birth, Bob_birth;
      31     int i;
      32     int ans;
      33 
      34     printf("輸入Alice和Bob出生日期:(以形如2025-06-01這樣的形式輸入)\n");
      35     for (i = 0; i < 3; ++i) {
      36         input(&Alice_birth);
      37         input(&Bob_birth);
      38         ans = compare_dates(Alice_birth, Bob_birth);
      39 
      40         if (ans == 0)
      41             printf("Alice和Bob一樣大\n\n");
      42         else if (ans == -1)
      43             printf("Alice比Bob大\n\n");
      44         else
      45             printf("Alice比Bob小\n\n");
      46     }
      47 }
      48 
      49 int main() {
      50     printf("測試1: 輸入日期, 打印輸出這是一年中第多少天\n");
      51     test1();
      52 
      53     printf("\n測試2: 兩個(gè)人年齡大小關(guān)系\n");
      54     test2();
      55     system("pause");
      56 }
      57 
      58 // 補(bǔ)足函數(shù)input實(shí)現(xiàn)
      59 // 功能: 輸入日期給pd指向的Date變量
      60 void input(Date* pd) {
      61     scanf("%d-%d-%d", &pd->year, &pd->month, &pd->day);
      62 }
      63 
      64 // 補(bǔ)足函數(shù)day_of_year實(shí)現(xiàn)
      65 // 功能:返回日期d是這一年的第多少天
      66 int day_of_year(Date d) {
      67     int x[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
      68     int i, amount = 0;
      69     if ((d.year % 4 == 0 && d.year % 100 != 0) || d.year % 400 == 0) {
      70         for (i = 0; i < d.month - 1; ++i) {
      71             amount += x[i];
      72         }
      73         amount += 1;
      74     }
      75     else {
      76         for (i = 0; i < d.month - 1; ++i) {
      77             amount += x[i];
      78         }
      79     }
      80     amount += d.day;
      81     return amount;
      82 }
      83 
      84 // 補(bǔ)足函數(shù)compare_dates實(shí)現(xiàn)
      85 // 功能:比較兩個(gè)日期: 
      86 // 如果d1在d2之前,返回-1;
      87 // 如果d1在d2之后,返回1
      88 // 如果d1和d2相同,返回0
      89  int compare_dates(Date d1, Date d2) {
      90      if (d1.year != d2.year) 
      91      {
      92          return d1.year < d2.year ? -1 : 1;     
      93      }
      94      if (d1.month != d2.month) {
      95          return d1.month < d2.month ? -1 : 1;
      96      }
      97      return d1.day < d2.day ? -1 : d1.day > d2.day ? 1 : 0;
      98 }

       task6

       1 #include <stdio.h>
       2 #include <string.h>
       3 
       4 enum Role { admin, student, teacher };
       5 
       6 typedef struct {
       7     char username[20];  // 用戶名
       8     char password[20];  // 密碼
       9     enum Role type;     // 賬戶類型
      10 } Account;
      11 
      12 
      13 // 函數(shù)聲明
      14 void output(Account x[], int n);    // 輸出賬戶數(shù)組x中n個(gè)賬戶信息,其中,密碼用*替代顯示
      15 
      16 int main() {
      17     Account x[] = { {"A1001", "123456", student},
      18                     {"A1002", "123abcdef", student},
      19                     {"A1009", "xyz12121", student},
      20                     {"X1009", "9213071x", admin},
      21                     {"C11553", "129dfg32k", teacher},
      22                     {"X3005", "921kfmg917", student} };
      23     int n;
      24     n = sizeof(x) / sizeof(Account);
      25     output(x, n);
      26 
      27     return 0;
      28 }

      task7

       1 #include <stdio.h>
       2 #include <string.h>
       3 
       4 typedef struct {
       5     char name[20];      // 姓名
       6     char phone[12];     // 手機(jī)號(hào)
       7     int  vip;           // 是否為緊急聯(lián)系人,是取1;否則取0
       8 } Contact;
       9 
      10 
      11 // 函數(shù)聲明
      12 void set_vip_contact(Contact x[], int n, char name[]);  // 設(shè)置緊急聯(lián)系人
      13 void output(Contact x[], int n);    // 輸出x中聯(lián)系人信息
      14 void display(Contact x[], int n);   // 按聯(lián)系人姓名字典序升序顯示信息,緊急聯(lián)系人最先顯示
      15 
      16 
      17 #define N 10
      18 int main() {
      19     Contact list[N] = { {"劉一", "15510846604", 0},
      20                        {"陳二", "18038747351", 0},
      21                        {"張三", "18853253914", 0},
      22                        {"李四", "13230584477", 0},
      23                        {"王五", "15547571923", 0},
      24                        {"趙六", "18856659351", 0},
      25                        {"周七", "17705843215", 0},
      26                        {"孫八", "15552933732", 0},
      27                        {"吳九", "18077702405", 0},
      28                        {"鄭十", "18820725036", 0} };
      29     int vip_cnt, i;
      30     char name[20];
      31 
      32     printf("顯示原始通訊錄信息: \n");
      33     output(list, N);
      34 
      35     printf("\n輸入要設(shè)置的緊急聯(lián)系人個(gè)數(shù): ");
      36     scanf("%d", &vip_cnt);
      37 
      38     printf("輸入%d個(gè)緊急聯(lián)系人姓名:\n", vip_cnt);
      39     for (i = 0; i < vip_cnt; ++i) {
      40         scanf("%s", name);
      41         set_vip_contact(list, N, name);
      42     }
      43 
      44     printf("\n顯示通訊錄列表:(按姓名字典序升序排列,緊急聯(lián)系人最先顯示)\n");
      45     display(list, N);
      46 
      47     return 0;
      48 }
      49 
      50 // 補(bǔ)足函數(shù)set_vip_contact實(shí)現(xiàn)
      51 // 功能:將聯(lián)系人數(shù)組x中,聯(lián)系人姓名與name一樣的人,設(shè)置為緊急聯(lián)系人(即成員vip值設(shè)為1)
      52 void set_vip_contact(Contact x[], int n, char name[]) {
      53     int i;
      54     for (i = 0; i < n; ++i) {
      55         if (!strcmp(x[i].name, name))
      56             x[i].vip = 1;
      57     }
      58 }
      59 
      60 // 補(bǔ)足函數(shù)display實(shí)現(xiàn)
      61 // 功能: 顯示聯(lián)系人數(shù)組x中的聯(lián)系人信息
      62 //      按姓名字典序升序顯示, 緊急聯(lián)系人顯示在最前面
      63 void display(Contact x[], int n) {
      64     int i, j, k;
      65     Contact t;
      66     for (i = 0; i < n; i++) {
      67         for (j = 0; j < n - i - 1; j++) {
      68             if (strcmp(x[j].name, x[j + 1].name) > 0) {
      69                 t = x[j];
      70                 x[j] = x[j + 1];
      71                 x[j + 1] = t;
      72             }
      73         }
      74     }
      75     for (i = n - 1; i >= 0; i--) {
      76         for (k = 0; k < i; ++k) {
      77             if (x[i].vip) {
      78                 for (j = i; j > 0; j--) {
      79                     t = x[j];
      80                     x[j] = x[j - 1];
      81                     x[j - 1] = t;
      82                 }
      83             }
      84         }
      85     }
      86     output(x, n);
      87 }
      88 
      89 void output(Contact x[], int n) {
      90     int i;
      91 
      92     for (i = 0; i < n; ++i) {
      93         printf("%-10s%-15s", x[i].name, x[i].phone);
      94         if (x[i].vip)
      95             printf("%5s", "*");
      96         printf("\n");
      97     }
      98 }

      posted on 2025-06-03 13:06  孤獨(dú)在一方的星  閱讀(13)  評(píng)論(0)    收藏  舉報(bào)

      主站蜘蛛池模板: 亚洲精品一区二区五月天| 中文字幕人成乱码熟女| 久久精品国产一区二区三区不卡| 美女一级毛片无遮挡内谢| 日韩丝袜欧美人妻制服| 国产亚洲精品超碰热| 免费观看全黄做爰大片| 精品视频不卡免费观看| 国产亚洲精品2021自在线| 思思久99久女女精品| 国产网友愉拍精品视频手机| 妓院一钑片免看黄大片| 中文字幕av无码免费一区| 老熟妇乱子交视频一区| 亚洲欧洲日韩精品在线| 久热在线中文字幕色999舞| 亚洲精品综合久中文字幕| 午夜成人无码免费看网站| 四虎永久在线高清免费看| 色综合天天综合天天综| 人妻系列无码专区免费| 国内熟妇与亚洲洲熟妇妇| 色综合色国产热无码一| 亚洲国产精品久久久天堂麻豆宅男 | 安平县| 97一期涩涩97片久久久久久久| 久久综合色最新久久综合色| 国产精品三级中文字幕| 兴海县| 亚洲老妇女亚洲老熟女久| 国产av成人精品播放| 国产成人高清亚洲综合| 蜜臀av在线观看| 国产一精品一av一免费| 精品无码三级在线观看视频 | 亚洲av永久无码精品水牛影视| 精品无码成人久久久久久| 亚洲av网一区天堂福利| 欧洲精品码一区二区三区| 亚洲精品国偷自产在线| 安龙县|