<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ~~~ #include<stdio.h> #include<windows.h> #define maxsize 100 typedef struct //非緊縮格式的順序串的定義 { char data[maxsize]; int length; }sqstring; void strassign(sqstring &s) //將字符串復制給串 { char a[100]; int i; getchar(); printf("請輸入一個字符串:"); gets(a); for(i=0;a[i]!='\0';i++) s.data[i]=a[i]; s.length=i; } void dispstr(sqstring s) //輸出串的所有元素 { int i; if(s.length<=0) printf("串為空,輸出失敗!\n"); else { if(s.length>0) { for(i=0;i<s.length;i++) printf(" %c",s.data[i]); } printf("\n"); } } void strcopy(sqstring &s,sqstring t) //串與串的復制 { int i; for(i=0;i<t.length;i++) s.data[i]=t.data[i]; s.length=t.length; } int strequal(sqstring s) //判斷串相等 { sqstring t; strassign(t); int i,m=1; if(s.length!=t.length) m=0; else for(i=0;i<s.length;i++) if(s.data[i]!=t.data[i]) m=0; if(m==1) printf("串相等\n"); else printf("串不相等\n"); return m; } void strlength(sqstring s) //求串長 { printf("s.length=%d\n",s.length); } sqstring concate(sqstring s) //串的連接 { sqstring t,str; strassign(t); int i,j; if(s.length==0) str.length=0; else { str.length=s.length+t.length; for(i=0;i<s.length;i++) str.data[i]=s.data[i]; for(i=0;i<t.length;i++) str.data[s.length+i]=t.data[i]; } return str; } void substr(sqstring s) //求子串 { sqstring str; int i,j,k; printf("請輸入第i個字符開始的連續j個字符組成的子串的i、j值\n"); printf("i="); scanf("%d",&i); printf("j="); scanf("%d",&j); if(s.length==0) printf("串為空!\n"); else if(i<=0||i>s.length||j<0||i+j-1>s.length) printf("輸入錯誤!\n"); else { str.length=j; for(k=i-1;j>0;j--,k++) str.data[k-i+1]=s.data[k]; printf("所求子串為:"); dispstr(str); } } void insstr(sqstring &s) //將串s2插到串s的第i個字符中 { sqstring s2,str; int i,j; str.length=0; strassign(s2); printf("請輸入需把串插入的位置:"); scanf("%d",&i); if(i<0||i>s.length+1) printf("輸入錯誤!\n"); else { for(j=0;j<i-1;j++) str.data[j]=s.data[j]; for(j=0;j<s2.length;j++) str.data[j+i-1]=s2.data[j]; for(j=i-1;j<s.length;j++) str.data[j+s2.length]=s.data[j]; str.length=s.length+s2.length; strcopy(s,str); printf("插入后的串為:"); dispstr(s); } } void delstr(sqstring &s) //從串s中刪去第i個字符開始的長度為j的子串 { int i,j,k; printf("刪除第i個字符開始的長度為j的子串\n"); printf("i="); scanf("%d",&i); printf("j="); scanf("%d",&j); if(s.length==0) printf("串為空!\n"); else if(i<=0||i>s.length||i+j-1>s.length) printf("輸入錯誤!\n"); else { k=j; for(;j>=0;j--,i++) s.data[i-1]=s.data[i+k-1]; s.length=s.length-k; printf("刪除后的串為: "); dispstr(s); } } void repstr(sqstring &s) //將第i個字符開始的j個字符夠成的子串用串t替換 { sqstring t,str; int i,j,k; printf("s串中將第i個字符開始的j個字符夠成的子串用串t替換\n"); printf("i="); scanf("%d",&i); printf(" j="); scanf("%d",&j); strassign(t); if(i<0||i>s.length||i+j-1>s.length) printf("輸入錯誤!\n"); else { str.length=0; for(k=0;k<i-1;k++) str.data[k]=s.data[k]; for(k=0;k<t.length;k++) str.data[k+i-1]=t.data[k]; for(k=i+j-1;k<s.length;k++) str.data[k-j+t.length]=s.data[k]; str.length=s.length+t.length-j; strcopy(s,str); printf("替換后的串為:"); dispstr(s); } } void index(sqstring s,sqstring t) //串的模式匹配(bf算法) { int i=0,j=0; while (i<s.length && j<t.length)? { if (s.data[i]==t.data[j]) { i++; j++;? } else { i=i-j+1; j=0;? } } if (j>=t.length)? printf("匹配成功在第%d位\n\n",i-t.length+1); else? printf("匹配不成功!\n"); } void main() { sqstring s,t; int m; printf(" ******************歡迎使用順序串的運算系統*************\n"); while(1) { printf("請選擇:"); printf("1 將字符串復制給串s\n"); printf(" 2 串與串的復制\n"); printf(" 3 判斷串相等\n"); printf(" 4 求串的長度\n"); printf(" 5 串的連接\n"); printf(" 6 求子串\n"); printf(" 7 將串s2插到串s的第i個字符位置\n"); printf(" 8 從串s中刪去從第i個字符開始的長度為j的子串\n"); printf(" 9 將第i個字符開始的j個字符夠成的子串用串t替換\n"); printf(" 10 串的模式匹配\n"); printf(" 11 輸出串的所有元素\n"); printf(" 12 退出\n"); scanf("%d",&m); switch(m) { case 1:strassign(s); printf("復制成功\n");break; case 2:strassign(t); strcopy(s,t); printf("復制成功\n");break; case 3:strequal(s);break; case 4:strlength(s);break; case 5:dispstr(concate(s));break; case 6:substr(s);break; case 7:insstr(s);break; case 8:delstr(s);break; case 9:repstr(s);break; case 10:strassign(t);index(s,t);break; case 11:printf("s: ");dispstr(s);break; case 12:printf("謝謝使用!\n");exit(0);break; default:printf("輸入錯誤!\n"); } } } ~~~
                  <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>

                              哎呀哎呀视频在线观看