㈠ 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=='