就 C 語言問題尋求建議,關於字串的反向順序

發布 科技 2024-07-21
8個回答
  1. 匿名使用者2024-01-31

    部分錯誤已得到糾正,具體方法在注釋中

    #include

    #define n 50

    int main()

    char a[n];

    int n,k,i,t;

    printf("您要輸入多少個字元? (n<=50)");

    scanf("%d",&n);在這裡,你最初寫的是scanf("%c",&n),%c 應為需要讀取的字元型別的整數。

    fflush(stdin);此行清除緩衝區,並清除您剛剛輸入的數字之後的回車符。

    printf("輸入 %d 個整數字元:",n);這裡你也寫了 %c,但也把它改成了 %d

    for(i=0;i

  2. 匿名使用者2024-01-30

    scanf("%c",&n);應該是。

    scanf("%d",&n);

    printf("您要輸入多少個字元? (n<=50)");

    scanf("%d",&n);

    fflush( stdin);

    printf("輸入 %d 個整數字元:",n);

  3. 匿名使用者2024-01-29

    C語言程式如下:

    #include

    #include

    main()

    int i,j,t,n;

    char a[10];

    printf("請輸入字串:")

    gets(a);

    n=strlen(a);

    for(i=0;i<=n/2;i++)

    t=a[i];

    a[i]=a[n-1-i];

    a[n-1-i]=t;

    for(j=0;jprintf("%c",a[j]);

    printf("");

  4. 匿名使用者2024-01-28

    總結。 最常用的方法是使用指標,具體步驟如下:1

    宣告乙個字元指標變數 P 並將其初始化為字串的第乙個位址; 2.使指標變數 q 指向字串的末尾,即 q=p+strlen(p)-1;3.交換指標 p 和 q 指向的字元,並將指標 p 向後移動乙個位置,將指標 q 向前移動乙個位置; 4.

    重複步驟 3,直到 p 和 q 指向相同的字元,完成字串的相反順序。

    C 以相反的順序輸出一串字元。

    使指標變數 q 指向字串的末尾,即 q=p+strlen(p)-1;3.交換指標 p 和 q 指向的字元,並將指標 p 向後移動乙個位置,將指標 q 向前移動乙個位置; 4.重複步驟 3,直到 p 和 q 指向相同的字元,完成字串的相反順序。

    Pro, include include int main() 這是完整的程式: include void main( )。

  5. 匿名使用者2024-01-27

    C語言程式如下:

    #include

    #include

    main()

    int i,j,t,n;

    char a[10];

    printf("請輸入字串:");

    gets(a);

    n=strlen(a);

    for(i=0;i<=n/2;i++)

    t=a[i];

    a[i]=a[n-1-i];

    a[n-1-i]=t;

    for(j=0;jprintf("%c",a[j]);

    printf("");

  6. 匿名使用者2024-01-26

    下面是 C 語言**。

    #include

    int main(void)

    for 迴圈從後到前訪問字串,這實際上是乙個字元陣列 for(j=i-1; j>=0;j--)

    printf("");

    return 0;

    原理:在C語言中對字串進行操作時,不僅可以對字元陣列進行操作,還可以使用字串的變數名作為指向字串的指標,變數名指向第乙個字元。 因此,指標可以從後到前讀取,從而實現反向輸出。

  7. 匿名使用者2024-01-25

    一般的反序使用兩個while,但使用的人不多,給你三種常用的方法。

    乙個設定兩個指標以指向字串的頭部和尾部,然後交換兩個指標指向的字元,並將指標移動到中間,直到它交叉。

    char *reverse(char *s) return s ;2. 在遞迴方式中,您需要給出乙個反轉的間隔並呼叫方法:reverse(s, 0, strlen(s))。

    字串 s 在左右間隔之間反轉,遞迴方法 char *reverse( char *s, int left, int right ) 三種非遞迴方法,也指定了反向順序間隔,與方法 1 沒有本質區別,乙個使用指標,另乙個使用下標。

    反轉字串 str 在 left 和 right 間隔之間的順序 char *reverse( char *s, int left, int right ) return s; }

  8. 匿名使用者2024-01-24

    函式名稱:strrev

    功能:字串反轉。

    用法:char *strrev(char *str);

    示例:包括

    #include

    int main(void)

相關回答
4個回答2024-07-21

您可以嘗試輸出,scanf 函式是從緩衝區讀取的資料,第二個字串的資料是空格或換行符製表符。 您可以單獨讀取它們,但在兩者之間新增 fflush(stdin); 清除緩衝區。

12個回答2024-07-21

不。。。 你還沒有弄清楚 C 語言中字串的含義。 >>>More

12個回答2024-07-21

使用字串就是使用它的第乙個位址(有時和長度,實際上,擁有第乙個位址就足夠了),無論字串有多長。 最明顯的例子是,當乙個(常量)字串作為引數及其第乙個位址傳遞時。 所以你的比較只是位址的比較。

11個回答2024-07-21

我剛剛做了乙個壓縮程式,對不起,現在可以解壓了。 >>>More

10個回答2024-07-21

你說其中乙個字元是乙個變數,但那有多少個? 我現在給你最後乙個,你看看。 >>>More