㈠ c語言 reverse 反轉字元串問題
從一端開始,一直到字元串中間位置,每個字元,與結尾處對稱位置字元對調值即可。
函數如下:
char*reverse(char*s)
{
intl,i;
chart;
l=strlen(s);
for(i=0;i<=l/2;i++)
{
t=s[i];
s[i]=s[l-i-1];
s[l-i-1]=t;
}
returns;
}
㈡ c語言、編寫函數reverse_string將字元串反序輸出。
只需將字元串的第一個元素和最後一個元素交換,第二個元素和倒數第二個元素交換,直到字元串長度一半時,就完成倒序了。切記不要全部倒序,不然又恢復成原字元串了。
#include<stdio.h>
#include<string.h>
//反序字元串x並返回
char*reverse_string(char*x)
{
intlen=strlen(x);
inti,n=len/2;
chartem;
//第一個和最後一個交換,第二個和倒數第二個交換
//這樣就只用交換一半
for(i=0;i<=n;i++)
{
tem=x[i];
x[i]=x[len-1-i];
x[len-1-i]=tem;
}
returnx;
}
intmain()
{
charstr[]="0123456789";
printf("reversestring:%s ",reverse_string(str));
return0;
}
㈢ C語言中如何實現字元串的反轉
#include<stdio.h>
#include<string.h>
string_change(char*p)
{
inti,len;
chartemp;
len=strlen(p);
//printf("%d ",len);
//testprintf("%d ",len);
for(i=0;i<(len/2);i++)
{
temp=p[i];
p[i]=p[len-1-i];
p[len-1-i]=temp;
}
}
intmain(void)
{
chara[20]="1234567890";
printf("%s ",a);
string_change(a);
printf("%s ",a);
return0;
}
兩個明顯的誤解:
char* a="12***"; 這樣定義是錯誤的。這樣 a指向字元串常量的指針。而字元串常量是不能改變的。所以停止運行。
c中數組是從0開始編號的。所以字元串最後一個字元是a[len-1];
㈣ C語言中「reverse」反轉字元串怎麼用
有2處錯誤,在注釋中顯示
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
int n;
char *p;
puts("請輸入您要輸入字元串的字元個數:");
scanf("%d",&n);
//既然用char*,應統一,不能使用sizeof(int)
p = (char*)malloc(n*sizeof(char));
for(int i=0;i<n;i++)
{
scanf("%c",&p[i]);//用%c接收字元
}
printf("輸出reverse後的字元串:");
for(i=n-1;i>=0;i--)
{
printf("%c \t",p[i]);
}
free(p);
system("PAUSE");
return 0;
}
㈤ 如何用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(" ");
}
(5)c語言字元串reverse擴展閱讀:
字元串倒序輸出的五種方法
1、使用數組循環
2、StringBuffer的reverse方法
3、StringBuffer的循環
4、棧的後進先出
5、迭代完成
㈥ C語言字元串反轉
for(i=0;i<len/2;i++)//<----------------------
{
ch=str[i];
str[i]=str[len-i-1];
str[i]=ch;
}
㈦ C語言字元串逆轉函數
只需要將字元數組的前後數據進行交換就行了。
#include<stdio.h>
#include<string.h>
char*reverse(char*x)
{
inti,tem,len=strlen(x);
intn=len/2;
for(i=0;i<=n;i++)//前後交換數據
{
tem=x[i];
x[i]=x[len-1-i];
x[len-1-i]=tem;
}
returnx;
}
intmain()
{
charp[]="abcdefghijk";
printf("relust=%s ",reverse(p));
return0;
}
㈧ 用C語言寫 字元串逆序輸出
逆序輸出有很多種,具體的實現方法取決於你題目的要求
1.如果只是要求逆序輸出,那麼可以採用類似的方法:
voidreverse(char*s)
{
if(*s=='