當前位置:首頁 » 編程語言 » 已知字元串如何求逆序c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

已知字元串如何求逆序c語言

發布時間: 2022-09-26 19:35:00

㈠ 用c語言寫 字元串逆序輸出

逆序輸出有很多種,具體的實現方法取決於你題目的要求

1.如果只是要求逆序輸出,那麼可以採用類似的方法:
voidreverse(char*s)
{
if(*s=='')
return;
reverse(s+1);
printf("%c",*s);
}
這種方法在s很長的情況下會一直遞歸到底,不是很好。

2.如果需要將字元串整個逆序在函數外面輸出,那麼可能希望採用返回字元串指針的方式;實現如下:
char*reverse(char*s)
{
staticchar*p=s+strlen(s)-1;//p是一個靜態變數,指向當前遞歸層處理的字元串尾,而s指向字元串頭
if(s<p)
{
charc=*p;//交換頭尾字元
*p=*s;
*s=c;
p--;//尾向前挪一個
reverse(s+1);//相當於頭向後挪一個
}
returns;
}

3.1當然,有的時候,並不需要reverse函數本身遞歸,而是可以藉助一些輔助的遞歸函數,比如說:
voidreversehelp(char*head,char*end)
{
if(head<end)
{
charc=*head;
*head=*end;
*end=c;
reversehelp(++head,--end);
}
}
然後在調用時像這樣調用:
char*reverse(char*s)
{
char*end=s+strlen(s)-1;

reversehelp(s,end);
returns;
}

3.2類似的輔助函數還可以採用一個字元串指針和一個長度參數的方式,如下例:
voidreversehelp(char*s,intn)
{
if(n>1)
{
charc=s[n-1];
s[n-1]=s[0];
s[0]=c;
reversehelp(s+1,n-2);
}
}
然後在調用時如下:
char*reverse(char*s)
{
reversehelp(s,strlen(s));
returns;
}

㈡ C語言將字元串逆序輸出問題(用函數)

沒有看明白你的代碼,如果只是想把字元逆轉後再輸出.這應是很簡單的,下面我寫了一個逆轉字元後並輸出的代碼:

#include<stdio.h>
#include<string.h>
#defineSTRING_MAX_LONG100
/*Functionprototypes*/
voidswaping(char*,char*),InverseString(char*,int);

voidmain()
{
charstr[STRING_MAX_LONG];
intstrLen=0;
printf("Pleaseinputstring:");
scanf("%s",str);

InverseString(str,strlen(str));
printf(" Inversestringafter:%s ",str);
}

voidswaping(char*a,char*b)
{
chartemp=*a;
*a=*b;
*b=temp;
}
voidInverseString(chars[],intlen)
{
inti,k=-1,j;
i=j=0;

for(i=k+1;i<len;i++){
j=len-i+k;
if(i>=j)break;
swaping(&s[i],&s[j]);
}
}

㈢ C語言中怎麼求逆序

因為這個數字很長,而且開頭允許以零開始,所以有必要使用字元串來保存這個數字。然後用兩個變數分別指向它的第一個數字和最後一個數字,在使用一個循環判斷這兩個數字是否相同,如果相同,就把前面的標加一,並且把後面的下標減去一,直到前面的下標大於後面的下標,或者兩個下標所指的數字不相同。只要退出的時候兩個下標的數字不相同,原來的數字就不是幸運數字,否則他就是一個幸運數字。

㈣ C語言 字元串逆序

ch=getchar();//從鍵盤鍵入一個字元
for(i=0; ch!='\n'; i++) {//如果不是回車鍵

a[i]=ch;//輸入第i個=該字元
n++;//數量累加
ch=getchar();//繼續得到一個鍵入的字元直到該字元是回車鍵終止循環
}
打字不容易望採納謝謝。。。

㈤ 用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語言將字元串逆序輸出

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(" ");

}

(6)已知字元串如何求逆序c語言擴展閱讀:

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

1、使用數組循環

2、StringBuffer的reverse方法

3、StringBuffer的循環

4、棧的後進先出

5、迭代完成

㈦ C語言,輸入一個字元串,逆序排列後輸出

可以參考下面的代碼:

#include "stdio.h"

main()

{

char strA[200];

char Temp;

int i=0,Length=0;

clrscr();

printf("請輸入一個字元串:");

gets(strA);

Temp=strA[0];

while(Temp!=''){

Length++;

Temp=strA[i++];

}

Length--;

for(i=0;i<Length/2;i++){

Temp=strA[i];

strA[i]=strA[Length-i-1];

strA[Length-i-1]=Temp;

}

puts(strA);

getch();

}

(7)已知字元串如何求逆序c語言擴展閱讀:

C語言參考函數:

atof(將字元串轉換成浮點型數)

atoi(將字元串轉換成整型數)

atol(將字元串轉換成長整型數)

strtod(將字元串轉換成浮點數)

strtol(將字元串轉換成長整型數)

strtoul(將字元串轉換成無符號長整型數)

toascii(將整型數轉換成合法的ASCII 碼字元)

注意事項:

字元串在存儲上類似字元數組,所以它每一位的單個元素都是可以提取的,如s=「abcdefghij」,則s[1]=「a」,s[10]="j",而字元串的零位正是它的長度,如s[0]=10(※上述功能Ansistring沒有。),這可以給我們提供很多方便,如高精度運算時每一位都可以轉化為數字存入數組。

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

#include <stdio.h>

int main()

{ int len,i;

char str[100];

gets(str);

len=strlen(str);

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

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

return 0;

}

拓展資料

C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。

㈨ 如何用C語言實現字元串逆序排列

樓主你好
具體代碼如下:
#include<stdio.h>
#include<string.h>
int
main()
{
char
*p;
char
c[20];
printf("Enter
a
string:");
scanf("%s",c);
p=c+strlen(c)-1;
while(p>=c)
printf("%c",*(p--));
printf("\n");
}
希望能幫助你哈

㈩ c語言字元串逆序輸出。

#include<stdio.h>
#include<string.h>

intmain()
{
inti;
intstr_len;
charstr[81];
gets(str);
str_len=strlen(str);
//str_len-1就是最後一個元素的下標不理解的話可以想想"abc"長度3最後c的下標是2理解了吧
//然後一直自減到i=0也就是第一個字元那麼下面的for循環的意思就是
//從最後一個字元逐個倒著輸出這個字元串的元素
for(i=str_len-1;i>=0;i--)
{
printf("%c",str[i]);
}

return0;
}