<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          這道字符串反轉(zhuǎn)的題目,你能想到更好的方法嗎?

          共 909字,需瀏覽 2分鐘

           ·

          2022-06-28 11:47

          周末有一個(gè)朋友問(wèn)了一個(gè)筆試題目,當(dāng)時(shí)還直播寫了答案,但是總覺得寫得不夠好,現(xiàn)在把題目放出來(lái)。大家看看有沒有什么更好的解法


          題目


          有一個(gè)字符串,如下,要求對(duì)字符串做反轉(zhuǎn)后輸出


          //input  the sky is blue

          //output blue is sky the



          我的答案如下面的代碼,我是直接定義成數(shù)組的來(lái)操作,如果定義成 char * str  的話,大家有沒有什么思路呢?


          #include "stdio.h"

          char input[] = {"the sky is blue"};

          //題目:

          //input the sky is blue

          //output blue is sky the

          void reverseWords(char* s, int n) {

          char ch;
          int i=0;
          for (i=0; i<n/2; i++) {
          ch = s[i];
          s[i] = s[n-i-1];
          s[n-i-1] = ch;

          }

          }

          //eulb si yks eht

          void reverseWords_by_space(char* s, int n) {

          int i = 0;
          int len = 0;
          for (i=0; i<n; i++) {
          if (s[i] == ' ') {
          reverseWords(s+i-len, len);
          len = 0;
          } else if (s[i] == '\0') {
          reverseWords(s+i-len, len);
          len = 0;
          }
          if (s[i] != ' ') {
          ++len;
          }

          }

          }

          int main(void) {

          printf("%s\n", input);
          reverseWords(input,strlen(input));
          reverseWords_by_space(input,sizeof(input));
          printf("%s\n", input);
          // 寫完了,大家有不明白的評(píng)論下

          return 0;

          }




          瀏覽 12
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  一道本一区二区 | 久久久人妻无码精品蜜桃 | 欧洲亚洲日本在线 | a亚洲a| www.97.色色 |