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

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

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

      實驗五

      TASK 1.1

      點擊查看代碼
      #include <stdio.h>
      #define N 5
      
      void input(int x[], int n);
      void output(int x[], int n);
      void find_min_max(int x[], int n, int *pmin, int *pmax);
      
      int main() {
          int a[N];
          int min, max;
      
          printf("錄入%d個數據:\n", N);
          input(a, N);
      
          printf("數據是: \n");
          output(a, N);
      
          printf("數據處理...\n");
          find_min_max(a, N, &min, &max);
      
          printf("輸出結果:\n");
          printf("min = %d, max = %d\n", min, max);
      
          return 0;
      }
      
      void input(int x[], int n) {
          int i;
      
          for(i = 0; i < n; ++i)
              scanf("%d", &x[i]);
      }
      
      void output(int x[], int n) {
          int i;
      
          for(i = 0; i < n; ++i)
              printf("%d ", x[i]);
          printf("\n");
      }
      
      void find_min_max(int x[], int n, int *pmin, int *pmax) {
          int i;
      
          *pmin = *pmax = x[0];
      
          for(i = 1; i < n; ++i)
              if(x[i] < *pmin)
                  *pmin = x[i];
              else if(x[i] > *pmax)
                  *pmax = x[i];
      }
      
      ![](https://img2024.cnblogs.com/blog/3405472/202405/3405472-20240523100754684-1112008966.png) 1.找到最大值和最小值 2.指向x【0】的地址

      TASK 1.2

      點擊查看代碼
      #include <stdio.h>
      #define N 5
      
      void input(int x[], int n);
      void output(int x[], int n);
      int *find_max(int x[], int n);
      
      int main() {
          int a[N];
          int *pmax;
      
          printf("錄入%d個數據:\n", N);
          input(a, N);
      
          printf("數據是: \n");
          output(a, N);
      
          printf("數據處理...\n");
          pmax = find_max(a, N);
      
          printf("輸出結果:\n");
          printf("max = %d\n", *pmax);
      
          return 0;
      }
      
      void input(int x[], int n) {
          int i;
      
          for(i = 0; i < n; ++i)
              scanf("%d", &x[i]);
      }
      
      void output(int x[], int n) {
          int i;
          
          for(i = 0; i < n; ++i)
              printf("%d ", x[i]);
          printf("\n");
      }
      
      int *find_max(int x[], int n) {
          int max_index = 0;
          int i;
      
          for(i = 1; i < n; ++i)
              if(x[i] > x[max_index])
                  max_index = i;
          
          return &x[max_index];
      }
      
      ![](https://img2024.cnblogs.com/blog/3405472/202405/3405472-20240523101840484-1669488123.png) 1.返回數據中最大值的地址 2.可以

      TASK 2.1

      點擊查看代碼
      #include <stdio.h>
      #include <string.h>
      #define N 80
      
      int main() {
          char s1[] = "Learning makes me happy";
          char s2[] = "Learning makes me sleepy";
          char tmp[N];
      
          printf("sizeof(s1) vs. strlen(s1): \n");
          printf("sizeof(s1) = %d\n", sizeof(s1));
          printf("strlen(s1) = %d\n", strlen(s1));
      
          printf("\nbefore swap: \n");
          printf("s1: %s\n", s1);
          printf("s2: %s\n", s2);
      
          printf("\nswapping...\n");
          strcpy(tmp, s1);
          strcpy(s1, s2);
          strcpy(s2, tmp);
      
          printf("\nafter swap: \n");
          printf("s1: %s\n", s1);
          printf("s2: %s\n", s2);
      
          return 0;
      }
      
      ![](https://img2024.cnblogs.com/blog/3405472/202405/3405472-20240523101944042-724595083.png) 1.大小為24 sizeof(s1)計算的是s1占用內存字節數 strlen(s1)計算的是字符串長度 2.不能,定義會出錯 3.發生了交換

      TASK 2.2

      點擊查看代碼
      #include <stdio.h>
      #include <string.h>
      #define N 80
      
      int main() {
          char *s1 = "Learning makes me happy";
          char *s2 = "Learning makes me sleepy";
          char *tmp;
      
          printf("sizeof(s1) vs. strlen(s1): \n");
          printf("sizeof(s1) = %d\n", sizeof(s1));
          printf("strlen(s1) = %d\n", strlen(s1));
      
          printf("\nbefore swap: \n");
          printf("s1: %s\n", s1);
          printf("s2: %s\n", s2);
      
          printf("\nswapping...\n");
          tmp = s1;
          s1 = s2;
          s2 = tmp;
      
          printf("\nafter swap: \n");
          printf("s1: %s\n", s1);
          printf("s2: %s\n", s2);
      
          return 0;
      }
      
      ![](https://img2024.cnblogs.com/blog/3405472/202405/3405472-20240523102837060-342765621.png)

      1.指針變量s1中存放的是字符串地址
      sizeof(s1) 計算的是單詞數
      strlen(s1) 統計的是字符串長度
      2.不能
      3.沒有交換,交換的是地址

      TASK 3

      點擊查看代碼
      #include <stdio.h>
      
      #include <stdio.h>
      
      int main() {
          int x[2][4] = {{1, 9, 8, 4}, {2, 0, 4, 9}};
          int i, j;
          int *ptr1;     // 指針變量,存放int類型數據的地址
          int(*ptr2)[4]; // 指針變量,指向包含4個int元素的一維數組
      
          printf("輸出1: 使用數組名、下標直接訪問二維數組元素\n");
          for (i = 0; i < 2; ++i) {
              for (j = 0; j < 4; ++j)
                  printf("%d ", x[i][j]);
              printf("\n");
          }
      
          printf("\n輸出2: 使用指向元素的指針變量ptr1間接訪問二維數組元素\n");
          for (ptr1 = &x[0][0], i = 0; ptr1 < &x[0][0] + 8; ++ptr1, ++i) {
              printf("%d ", *ptr1);
      
              if ((i + 1) % 4 == 0)
                  printf("\n");
          }
      
          printf("\n輸出3: 使用指向一維數組的指針變量ptr2間接訪問二維數組元素\n");
          for (ptr2 = x; ptr2 < x + 2; ++ptr2) {
              for (j = 0; j < 4; ++j)
                  printf("%d ", *(*ptr2 + j));
              printf("\n");
          }
      
          return 0;
      }
      
      ![](https://img2024.cnblogs.com/blog/3405472/202405/3405472-20240523103320121-1071903040.png) int (*ptr)[4];中,標識符ptr表示的語義是指針 int *ptr[4];中,標識符ptr表示的語義是指針數組名

      TASK4.1

      點擊查看代碼
      #include <stdio.h>
      #include<stdlib.h>
      #define N 80
      
      void replace(char *str, char old_char, char new_char); // 函數聲明
      
      int main() {
          char text[N] = "c programming is difficult or not, it is a question.";
      
          printf("原始文本: \n");
          printf("%s\n", text);
      
          replace(text, 'i', '*'); // 函數調用 注意字符形參寫法,單引號不能少
      
          printf("處理后文本: \n");
          printf("%s\n", text);
      
          system("pause");
          return 0;
      }
      
      // 函數定義
      void replace(char *str, char old_char, char new_char) {
          int i;
      
          while(*str) {
              if(*str == old_char)
                  *str = new_char;
              str++;
          }
      }
      
      ![](https://img2024.cnblogs.com/blog/3405472/202405/3405472-20240523103505011-885779381.png) 1.replace的功能是將'i'改成'*' 2.line24,圓括號里循環條件可以改寫成 *str != '\0' TASK4.2
      點擊查看代碼
      #include <stdio.h>
      #include<stdlib.h>
      #define N 80
      
      void str_trunc(char *str, char x);
      
      int main() {
          char str[N];
          char ch;
      
          printf("輸入字符串: ");
          gets(str);
      
          printf("輸入一個字符: ");
          ch = getchar();
      
          printf("截斷處理...\n");
          str_trunc(str, ch);
      
          printf("截斷處理后的字符串: %s\n", str);
      
          system("pause");
          return 0;
      }
      
      void str_trunc(char *str, char x) {
          while(*str) {
              if(*str == x)
                  *str='\0';     // blank1
      
                   str++;   // blank2
          }
      
          str--;// blank3
      }
      
      ![](https://img2024.cnblogs.com/blog/3405472/202405/3405472-20240523104027561-1773301825.png) TASK 5.1
      點擊查看代碼
      #include <stdio.h>
      #include<stdlib.h>
      #include <string.h>
      void sort(char *name[], int n);
      
      int main() {
          char *course[4] = {"C Program",
                             "C++ Object Oriented Program",
                             "Operating System",
                             "Data Structure and Algorithms"};
          int i;
      
          sort(course, 4);
      
          for (i = 0; i < 4; i++)
              printf("%s\n", course[i]);
      
          system("pause");
          return 0;
      }
      
      void sort(char *name[], int n) {
          int i, j;
          char *tmp;
      
          for (i = 0; i < n - 1; ++i)
              for (j = 0; j < n - 1 - i; ++j)
                  if (strcmp(name[j], name[j + 1]) > 0) {
                      tmp = name[j];
                      name[j] = name[j + 1];
                      name[j + 1] = tmp;
                  }
      }
      
      ![](https://img2024.cnblogs.com/blog/3405472/202405/3405472-20240523104456356-1350198246.png)

      TASK5.2

      點擊查看代碼
      #include <stdio.h>
      #include <string.h>
      void sort(char *name[], int n);
      
      int main() {
          char *course[4] = {"C Program",
                             "C++ Object Oriented Program",
                             "Operating System",
                             "Data Structure and Algorithms"};
          int i;
      
          sort(course, 4);
          for (i = 0; i < 4; i++)
              printf("%s\n", course[i]);
      
          return 0;
      }
      
      void sort(char *name[], int n) {
          int i, j, k;
          char *tmp;
      
          for (i = 0; i < n - 1; i++) {
              k = i;
              for (j = i + 1; j < n; j++)
                  if (strcmp(name[j], name[k]) < 0)
                      k = j;
      
              if (k != i) {
                  tmp = name[i];
                  name[i] = name[k];
                  name[k] = tmp;
              }
          }
      }
      
      
      ![](https://img2024.cnblogs.com/blog/3405472/202405/3405472-20240523104738323-784278912.png) 交換兩個指針變量的值

      TASK 6

      點擊查看代碼
      #include <stdio.h>
      #include<stdlib.h>
      #include <string.h>
      #define N 5
      
      int check_id(char *str); // 函數聲明
      
      int main() {
          char *pid[N] = {"31010120000721656X",
                          "330106199609203301",
                          "53010220051126571",
                          "510104199211197977",
                          "53010220051126133Y"};
          int i;
      
          for (i = 0; i < N; ++i)
              if (check_id(pid[i])) // 函數調用
                  printf("%s\tTrue\n", pid[i]);
              else
                  printf("%s\tFalse\n", pid[i]);
      
          system("pause");
          return 0;
      }
      
      // 函數定義
      // 功能: 檢查指針str指向的身份證號碼串形式上是否合法。
      // 形式合法,返回1,否則,返回0
      int check_id(char *str) {
          int len=strlen(str);
          int i = 0;
          if (len!=18)
              return 0;
          while (*str) {
              for (; i < len; i++) {
                  if (*(str + i) < '0' || (*(str + i) > '9' && *(str + i) != 'X'))
      
                      return 0;
              }
              return 1;
          }
      }
      
      ![](https://img2024.cnblogs.com/blog/3405472/202405/3405472-20240523105045529-241484426.png)

      TASK 7

      點擊查看代碼
      #include <stdio.h>
      #define N 80
      void encoder(char* str); // 函數聲明
      void decoder(char* str); // 函數聲明
      
      int main() {
          char words[N];
      
          printf("輸入英文文本: ");
          gets(words);
      
          printf("編碼后的英文文本: ");
          encoder(words); // 函數調用
          printf("%s\n", words);
      
          printf("對編碼后的英文文本解碼: ");
          decoder(words); // 函數調用
          printf("%s\n", words);
      
          return 0;
      }
      
      /*函數定義
      功能:對s指向的字符串進行編碼處理
      編碼規則:
      對于a~z或A~Z之間的字母字符,用其后的字符替換; 其中,z用a替換,Z用A替換
      其它非字母字符,保持不變
      */
      void encoder(char* str) {
          while (*str) {
              if (*str == 'z')
                  *str = 'a';
              else if (*str == 'Z')
                  *str == 'A';
              else if ((*str >= 'a' && *str <= 'y') || (*str >= 'A' && *str <= 'Y'))
                  (*str)++;
              str++;
          }
      
      }
      
      /*函數定義
      功能:對s指向的字符串進行解碼處理
      解碼規則:
      對于a~z或A~Z之間的字母字符,用其前面的字符替換; 其中,a用z替換,A用Z替換
      其它非字母字符,保持不變
      */
      void decoder(char* str) {
          while (*str) {
              if (*str == 'a')
                  *str = 'z';
              else if (*str == 'A')
                  *str == 'z';
              else if ((*str >= 'b' && *str <= 'z') || (*str >= 'B' && *str <= 'Z'))
                  (*str)--;
              str++;
          }
      
      }
      
      ![](https://img2024.cnblogs.com/blog/3405472/202405/3405472-20240523105304764-2089306149.png) ![](https://img2024.cnblogs.com/blog/3405472/202405/3405472-20240523105312377-764755310.png) ![](https://img2024.cnblogs.com/blog/3405472/202405/3405472-20240523105318387-475135236.png)
      posted @ 2024-05-23 10:53  MINXZBC  閱讀(12)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 97久久综合亚洲色hezyo| 热re99久久精品国产99热| 日韩中文字幕亚洲精品| 伊人激情av一区二区三区| 成人精品日韩专区在线观看| 欧美国产综合视频| 好男人官网资源在线观看| 厨房与子乱在线观看| 欧美黑人又粗又大又爽免费| 制服丝袜美腿一区二区| 国产福利姬喷水福利在线观看| 九九热在线免费视频精品| 日韩本精品一区二区三区| 午夜精品福利亚洲国产| 人人妻人人做人人爽| 国产四虎永久免费观看| 18禁亚洲一区二区三区| 国产综合久久亚洲综合| 成 人色 网 站 欧美大片在线观看| 国产人妻人伦精品婷婷| 亚洲日韩亚洲另类激情文学| 亚洲精品第一区二区三区| 亚洲小说乱欧美另类| 国产日韩AV免费无码一区二区三区 | 国产精品久久中文字幕| 亚洲成人www| 99久久婷婷国产综合精品青草漫画| 国产精品视频免费一区二区三区| 好爽好紧好大的免费视频| 成人影片一区免费观看| 精品在免费线中文字幕久久| 色悠悠国产精品免费在线| 人人澡人摸人人添| 又污又爽又黄的网站| 久久99精品久久久久久齐齐| 亚洲中文久久久精品无码| 岛国大片在线免费播放| 国产无人区码一区二区| 国产一区二区三区精品久| 偷窥国产亚洲免费视频| 美女内射毛片在线看3d|