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

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

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

      實驗5

      實驗任務1:

      1.1

      #include <stdio.h>
      #define N 4
      
      int main()
      {
          int x[N] = {1,9,8,4};
          int i;
          int *p;
          
          for(i = 0;i<N;i++)
              printf("%d",x[i]);
          printf("\n");
          
          for(p=x;p<x+N;++p)
              printf("%d",*p);
          printf("\n");
          
          p = x;
          for(i = 0;i<N;++i)
              printf("%d",p[i]);
          printf("\n");
          
          p = x;
          for(i = 0;i<N;++i)
              printf("%d",*(p+i));
          printf("\n");
          
          return 0;
      }

      1.2

      #include <stdio.h>
      
      int main()
      {
          int x[2][4] = {{1,9,8,4},{2,0,4,9}};
          int i,j;
          int *p;//指針變量,存放int型元素的一維數組
          int(*q)[4];//指針變量,指向包含4個int型元素的一維數組
          
          //使用數組名,下標訪問二維數組元素
          for(i=0;i<2;++i)
          {
              for(j = 0;j<4;++j)
                  printf("%d",x[i][j]);
              printf("\n");
           } 
           
          //使用指針變量p間接訪問二維數組元素
          for(p = &x[0][0],i = 0;p<&x[0][0]+8;++p,++i) 
          {
              printf("%d",*p);
              if((i+1)%4 == 0)
                 printf("\n");
          }
          
          //使用指針變量q間接訪問二維數組元素
          for(q = x;q<x+2;++q)
          {
              for(j = 0;j<4;++j)
                  printf("%d",*(*q+j));
              printf("\n");
           } 
           
           return 0;
      }

      實驗任務2:

      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(s2,s1);
          strcpy(s2,tmp);
          
          printf("\nafter swap: \n");
          printf("s1: %s\n",s1);
          printf("s2: %s\n",s2);
          
          return 0;
      }

      1.數組s1大小是24,size(s1)計算地是s1在儲存空間中占用的字節數,strlen統計的是s1中除空字符以外的字符個數。

      2.不能,s1為字符數組名,用賦值號不能直接給字符串賦值,需要應用strcpy函數。

      3.沒有發生互換,只是讓s2變成了s1。

      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("\swapping...\n");
          tmp = s1;
          s1 = s2;
          s2 = tmp;
          
          printf("\after swap: \n");
          printf("s1: %s\n",s1);
          printf("s2: %s\n",s2);
          
          return 0; 
       } 

      1.s1中存放的是字符串第一個元素的地址 sizeof(s1)計算的是Learning所占的字節數,strlen(s1)統計的數字符串中非空字符的個數。

      2.可以,因為s1為指針變量,可以使用賦值號,將字符串第一個元素的地址賦給指針變量。2.1中的s1為字符數組名,不能用賦值號。

      3.交換了指針所指字符串,儲存單元并沒有變。

      實驗任務3:

      #include <stdio.h>
      
      void str_cpy(char *target, const char *source);
      void str_cat(char *str1, char *str2);
      
      int main()
      {
          char s1[80], s2[20] = "1984";
          
          str_cpy(s1,s2);
          puts(s1);
          
          str_cat(s1,"Animal Farm");
          puts(s1);
          
          return 0;
       } 
       
       void str_cpy(char *target, const char *source)
       {
           while (*target++ =  *source++)
                ;
       }
       
       void str_cat(char *str1,char *str2)
       {
           while (*str1)
                str1++;
           
           
           while (*str1++ = *str2++)
               ;
       }

      實驗任務4:

      #include <stdio.h>
      #define N 80
      int func(char *);
      
      int main()
      {
          char str[80];
          
          while (gets(str) != NULL)
          {
              if(func(str))
                  printf("yes\n");
              else
                  printf("no\n"); 
          }
          
          return 0;
       } 
       
       int func(char *str)
       {
           char *begin, *end;
           
           begin = end = str;
           
           while(*end)
               end++;
           
           end--;
           
           while(begin<end)
           {
               if(*begin != *end)
                   return 0;
               else
               {
                   begin++;
                   end--;
               }
           }
           return 1;
      }

      實驗任務5:

      #include <stdio.h>
      #define N 80
      
      void func(char *) ;
      
      int main()
      {
          char s[N];
          
          while(scanf("%s",s) != EOF)
          {
              func(s);
              puts(s);
          }
          
          return 0;
      }
      
      void func(char *str)
      {
          int i;
          char *p1, *p2,*p;
          
          p1 = str;
          while(*p1 == '*')
              p1++;
          p2 = str;
          while(*p2)
              p2++;
          p2--;
          
          while(*p2 == '*')
              p2--;
              
          p = str;
          i = 0;
          while(p<p1)
          {
              str[i] = *p;
              p++;
              i++;
          }
          
          while(p<=p2)
          {
              if(*p != '*')
              {
                  str[i] = *p;
                  i++;
              }
              p++;
          }
          
          while(*p != '\0')
          {
              str[i] = *p;
              p++;
              i++;
          }
          
          str[i] = '\0';
      }

      實驗任務6:

      #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 Algorothms"};
          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;
          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;
                  }
      }

      6.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;
              }
          }
      }

      交換的是指針變量的值。

      實驗任務7:

       

      #include <stdio.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]);
      
          return 0;
      }
      
      // 函數定義
      // 功能: 檢查指針str指向的身份證號碼串形式上是否合法。
      // 形式合法,返回1,否則,返回0
      int check_id(char *str)
      {
          if(strlen(str)!=18)
              return 0;
          else
          {
              char *p;
              p=str;
              while(*p>='0'&&*p<='9'||*p=='X')
                  p++;
              if(*p=='\0')
                  return 1;
              else
                  return 0;
          }
      }

      實驗任務8:

      #include <stdio.h>
      #include<stdlib.h>
      #define N 80
      void encoder(char *s);
      void decoder(char *s);
      
      int main()
      {
          char words[N];
      
          printf("輸入英文文本: ");
          gets(words);
      
          printf("編碼后的英文文本: ");
          encoder(words);
          printf("%s\n", words);
      
          printf("對編碼后的英文文本解碼: ");
          decoder(words);
          printf("%s\n", words);
      
          system("pause");
          return 0;
      }
      
      void encoder(char *s)
      {
          while(*s){
              if((*s>='a'&&*s<'z')||(*s>='A'&&*s<'Z')) 
                  *s=*s+1;
              else if(*s=='z'||*s=='Z')
                  *s=*s-25; 
              s++;
          }
      }
      
      void decoder(char *s)
      {
          while(*s){
              if((*s>'a'&&*s<='z')||(*s>'A'&&*s<='Z')) 
                  *s=*s-1;
              else if(*s=='a'||*s=='A')
                  *s=*s+25;
              s++;
          }
      }

       

      posted @ 2023-05-07 15:46  都行吧  閱讀(34)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲欧美综合人成在线| 竹菊影视欧美日韩一区二区三区四区五区| 亚洲欧洲日产国码久在线| 大香伊蕉在人线国产免费| 99精品国产高清一区二区麻豆| 日本道不卡一二三区视频| 91精品午夜福利在线观看| 97久久综合亚洲色hezyo| 日本毛茸茸的丰满熟妇| 久久久精品2019中文字幕之3| 体态丰腴的微胖熟女的特征| 欧美国产综合视频| 亚洲人成电影网站色mp4| 色综合久久中文综合久久激情| 欧洲精品色在线观看| 少妇无码av无码一区| 国产做无码视频在线观看| 亚洲婷婷综合色高清在线| 99国产精品永久免费视频| 国产精品无遮挡一区二区| 日本成熟少妇激情视频免费看| 国产成人精品永久免费视频| 亚洲精品中文av在线| 国产一区二区三区四区激情| 真人无码作爱免费视频| 亚洲第一无码AV无码专区| 亚洲一区二区中文字幕| 亚洲欧美一区二区成人片 | 国产在线无码不卡播放| 欧美 亚洲 另类 丝袜 自拍 动漫| 久久久精品2019中文字幕之3| √新版天堂资源在线资源| 狠狠久久五月综合色和啪| 精品国产一区AV天美传媒| 国产成人综合欧美精品久久| 国产高清视频一区二区三区| 亚洲国产精品成人无码区| 大肉大捧一进一出好爽视频动漫| 国偷自产一区二区三区在线视频| 99久久无码私人网站| 国产精品日韩av在线播放|