當前位置:首頁 » 編程語言 » c語言字元串倒序輸出

c語言字元串倒序輸出

發布時間: 2022-05-15 04:21:26

c語言怎麼把字元串倒序

反序方法見 下面 函數 void op(char *s). 主函數是調用的例子。
#include <stdio.h>
void op(char *s){
int i,k;
char c;
k = strlen(s);
for (i=0;i<k/2;i++){c=s[i];s[i]=s[k-i-1];s[k-i-1]=c;};
};

int main()
{
char s[200];
printf("input one line string:\n");
gets(s);
op(s);
printf("%s\n",s);
return 0;
}
輸入:abc123
輸出:321cba

② 用c語言倒序輸出字元串

思路:
用一個足夠長的字元數組來接受用戶的輸入,然後從最後數組最後一個位置開始輸出字元。
代碼如下:
#include<stdio.h>
#include<string.h>
#defineBUFFER1024/*定義常量BUFFER,值為1024,作數組長度*/
intmain(void)
{
inti;
chara[buffer];
gets(a);/*將用戶的輸入存進字元數組*/
for(i=strlen(a)-1;i>=0;i--)/*從數組的最後位置開始輸出字元*/
printf("%c",a[i]);/*以字元的格式依次顯示每個字元*/
printf(" ");
return0;
}
程序運行截圖如下:

③ c語言程序 輸入一字元串存入數組中,逆序存放並輸出

對鍵盤輸入的字元串進行逆序,逆序後的字元串仍然保留在原來的字元數組中,最後輸出。(不得調用任何字元串處理函數),例如:

輸入

hello

world

輸出

dlrow

olleh

(3)c語言字元串倒序輸出擴展閱讀:

字元串在存儲上類似字元數組,它每一位單個元素都是能提取的,字元串的零位是它的長度,如s[0]=10,這提供給我們很多方便,例如高精度運算時每一位都能轉化為數字存入數組。

通常以串的整體作為操作對象,如:在串中查找某個子串、求取一個子串、在串的某個位置上插入一個子串以及刪除一個子串等。兩個字元串相等的充要條件是:長度相等,並且各個對應位置上的字元都相等。設p、q是兩個串,求q在p中首次出現的位置的運算叫做模式匹配。

④ C語言遞歸法把字元倒序輸出

#include <stdio.h>

#include <string.h>

#define N 1//這里的1可以改,改成10同時可以玩10個串串


void printfmm(char *s,int len){

if(len==0){printf("%c ",s[len-1]);return;}

else {printf("%c",s[len-1]);printfmm(s,len-1);}

}


void main() {

char str[N][30],t;

int i,s[52]={0},j;

printf("上串串:");

for(i=0;i<N;i++)

gets(str[i]);

for(i=0;i<N;i++)

printfmm(str[i],strlen(str[i]));


}

⑤ 用C語言寫 字元串逆序輸出

逆序輸出有很多種,具體的實現方法取決於你題目的要求
1. 如果只是要求逆序輸出,那麼可以採用類似的方法:
void reverse(char *s)
{
if(*s=='\0')
return;
reverse(s+1);
printf("%c",*s);
}
這種方法在s很長的情況下會一直遞歸到底,不是很好。
2. 如果需要將字元串整個逆序在函數外面輸出,那麼可能希望採用返回字元串指針的方式;實現如下:
char * reverse( char* s )
{
static char *p = s+strlen(s)-1; //p是一個靜態變數,指向當前遞歸層處理的字元串尾,而s指向字元串頭
if(s < p)
{
char c = *p; //交換頭尾字元
*p = *s;
*s = c;
p--; //尾向前挪一個
reverse(s+1); //相當於頭向後挪一個
}
return s;
}
3.1 當然,有的時候,並不需要reverse函數本身遞歸,而是可以藉助一些輔助的遞歸函數,比如說:
void reversehelp(char * head, char * end)
{
if (head < end)
{
char c = *head;
*head = *end;
*end = c;
reversehelp(++head, --end);
}
}
然後在調用時像這樣調用:
char * reverse(char * s)
{
char * end = s + strlen(s) - 1;
reversehelp(s, end);
return s;
}
3.2 類似的輔助函數還可以採用一個字元串指針和一個長度參數的方式,如下例:
void reversehelp( char* s, int n )
{
if ( n > 1 )
{
char c = s[n-1];
s[n-1] = s[0];
s[0] = c;
reversehelp( s+1, n-2 );
}
}
然後在調用時如下:
char *reverse(char *s)
{
reversehelp( s, strlen(s) );
return s;
}

⑥ c語言逆序輸出

是的,getchar()函數是這樣使用的(括弧中不帶參數)。
看起來這一段代碼是用來復制字元串的。
int a[6];應當改為:
char a[100];
前面的兩段for循環應當改為:
for(i=0;i<=a[0];i++)
a[i+1]=n[i];
其餘的(包括第三個for循環)不變,就可以了。

⑦ 如何用C語言將字元串逆序輸出

C語言程序如下:

#include<stdio.h>

#include<string.h>

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;j<n;j++)

printf("%c",a[j]);

printf(" ");

}

(7)c語言字元串倒序輸出擴展閱讀:

字元串倒序輸出的五種方法

1、使用數組循環

2、StringBuffer的reverse方法

3、StringBuffer的循環

4、棧的後進先出

5、迭代完成

⑧ C語言:輸入一個字元串,然後逆序輸出

可以將整數當做字元串(字元串長度不超過10)接收,然後反向輸出字元數組元素即可。

字元串實際長度可以用strlen函數來計算。

方法程序如下:

#include<stdio.h>

#include<string.h>

main()

{char a[10];int i,j;

scanf("%s",a);

j=strlen(a);

for(i=j-1;i>=0;i--)

printf("%c",a[i]);

printf(" ");}

(8)c語言字元串倒序輸出擴展閱讀:

C語言高效編程技巧:

一:以空間換時間

計算機程序中最大的矛盾是空間和時間的矛盾,那麼,從這個角度出發逆向思維來考慮程序的效率問題

二:數學方法解決問題

數學是計算機之母,沒有數學的依據和基礎,就沒有計算機發展,所以在編寫程序的時候,採用一些數學方法會對程序的執行效率有數量級的提高。

三:使用位操作

實現高效的C語言編寫的第三招----使用位操作,減少除法和取模的運算。

在計算機程序中,數據的位是可以操作的最小數據單位,理論上可以用「位運算」來完成所有的運算和操作。一般的位操作是用來控制硬體的,或者做數據變換使用,但是,靈活的位操作可以有效提高程序運行的效率。

⑨ c語言關於 字元串倒序並輸出

for
(i
=
0;
i
<
len
;
i++)
{
a1[i]
=
a[len
-
i
-
1];
//
這樣寫整個轉了一圈,而且數據被破壞了,你沒有先保存原a[i]的值,丟了!
}
for
(i
=
0;
i
<
len
/
2;
i++)
這是正確寫法,前半部分與後半部分交換!!
{
temp
=
a[i];
//保存
a[i]
=
a[len
-
i
-
1];
後面的移前面
a[len
-
i
-
1]
=
temp;
//將前面的保存的數據,移到後面
}

⑩ c語言中請問用指針怎麼倒序輸出字母漢字混合字元串

僅僅是字母的倒序輸出很容易。如abcde直接倒序edcba.
如果包含漢字就有點麻煩。
如果你用的VC
6.0.字元串是ASCII碼(不是unicode,也稱為多位元組)。漢字占兩個位元組,對這2個位元組不能顛倒。
否則是亂碼。當然,也有一些解決方案。因為字母都為正數,而漢字的位元組是負數。由此
可以判斷什麼時候可以倒序。
如果是vs
2008或類似平台字元串是且字元串是寬位元組(unicode)。問題也好處理。如果是多位元組,
按上述方法處理。

熱點內容
解壓到當前文件夾右鍵 發布:2024-04-26 03:57:08 瀏覽:979
html5android教程視頻下載 發布:2024-04-26 03:09:59 瀏覽:867
伺服器的描述是什麼 發布:2024-04-26 03:08:32 瀏覽:394
個人加密 發布:2024-04-26 03:01:23 瀏覽:521
linuxusbgadget 發布:2024-04-26 02:52:54 瀏覽:304
我的世界空島世界伺服器地址 發布:2024-04-26 01:39:08 瀏覽:248
尼爾機械紀元加密 發布:2024-04-26 01:37:11 瀏覽:868
在控制台輸出sql語句 發布:2024-04-26 01:08:12 瀏覽:432
動畫java 發布:2024-04-26 01:02:40 瀏覽:12
得力文件夾5302 發布:2024-04-26 00:21:32 瀏覽:91