rjps.net
当前位置:首页 >> 函数实现字符串逆序 >>

函数实现字符串逆序

程序的关键点是:1.定义一个char类型数组char a[100];2.输入字符串scanf("%s", a);3.获取字符串长度int ilength = strlen(a);4.倒序循环输出 for(int i = ilength -1; i >= 0; i--) { prinft("%c", a[i]); }5.用上面的步骤应该可以写出来了.自己做相信更有成就感.

#include <iostream.h>#include <string.h>#define LENGTH 80//反序一个字符串 void revert(char s[]) { char c; int i,j; j = strlen(s) - 1; for(i = 0;i < j;i ++) { c = s[i]; s[i] = s[j]; s[j] = c; j --; } } void output(char s[]) { cout<<"The string is reversed:"<<s<<endl; }

#include int mystrlen(char *s) { int len = 0; char *p; p = s; while(*p++) len++; return len; } char *mystrcpy(char *s) { char newstr[1024],*q,*p = s; q = newstr; while(*q++ = *p++); *q = '\0'; return newstr; } int main() { char s[1024]; printf("请输入字符串 :

函数用的是系统栈,栈的特点是先进后出 假设 str = "abcde"; 递归函数当未达到末尾的'\0'时,就调用下一个字符的打印函数(这些就逐一保存在栈中,最先遍历到的在最底下,先遍历的总是在后遍历的下边) 到了str[i] == '\0' 的时候,不符合递归条件,就出栈,其实栈内保存的是print()函数和每个字符的地址,你可以想象一下,出栈的时候,从上到下,应该是"e d c b a"是吧,这样依次打印,顺序就自然而然逆序了

有N中方法可以实现1:string类型的对象有个成员函数可以转化成C字符串,比如string s; s.c_str()这样就返回了C字符串了,不知道你是否清楚C里面有个strrev(char *)函数,直接返回的就是逆序字符串,所以可以直接输出cout<<strrev(s.c_str())<<endl;2、由于字符只占一个字节,你可以用size,也可以用length 比如size,for(string::size_type i=0;i<s.size;i++){} 当然你可以不用size_type,直接用int,但不推荐,原因就不说了3、用迭代器itrator,具体做法请看C++ primer等相关资料4、不写了

C语言实现知字符道串逆序函数专StrReverse,参考代码如下属:#include<stdio.h>#include<string.h> char *StrReverse(char *szString) { int i,l=strlen(szString); char t,*s=szString; for(i=0;i<l/2;++i) t=s[i],s[i]=s[l-i-1],s[l-i-1]=t; return s; } int main() { char s[100]; gets(s); printf("%s",StrReverse(s)); return 0; }

#includeusing namespace std;void reverse_str(char *p,char *q){ int len=strlen(p); int i; for(i=0;i 评论0 0 0

#include <stdio.h>#include <string.h> void main() { char* s; gets(s); int len = strlen(s); int i; for(i=len-1;i>=0;i--)printf("%c", s[i]); }

#include<stdio.h>void reverse(char *s){char *p; for(p=s;*p;p++); for(;p>s;) putchar(*(--p));}int main(){char s[200]; gets(s); reverse(s); return 0;}

思想:用strlen获得s的长度n,定义一个临时的字符数组temp[],用循环实现把temp[0]=s[n],temp[1]=s[n-1]…… temp[]就是所求得的数组.

yhkn.net | jingxinwu.net | ncry.net | 5689.net | msww.net | 网站首页 | 网站地图
All rights reserved Powered by www.rjps.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com