代码文本:
#include "stdio.h"
char *contrary(char *p){
int i,t,k;
for(k=0;p[k];k++);
for(k--,i=0;i t=p[i],p[i]=p[k],p[k]=t; return p; } int main(int argc,char *argv[]){ char s[]="12334567890"; printf("The original string:\n%s\n",s); printf("Antitone results:\n%s\n",contrary(s)); return 0; }
额,不对哟。假如原先字符串是ABCD,你写的结果就是DCCD了,你修改了原先的数组x[],你在函数里面新建一个数组y[],将x从尾到头遍历放到y中就行了。
代码:
#include
#include
using namespace std;
void cont(char x[]){
int len = strlen(x);
for(int i = 0; i < len / 2; i++){
char c = x[i];
x[i] = x[len - i - 1];
x[len - i - 1] = c;
}
}
int main(){
char str[10];
cout << "输入一个字符串:" << endl;
cin >> str;
cont(str);
cout << str << endl;
return 0;
}
运行结果:
下面的程序实现了在主程序中输入一个字符串(中间不包含空格),在函数contraruy中将其反向放置,然后在主程序中调用,然后输出。
#include
#include
using namespace std;
void cont(char x[],int n)
{ int i;
char c;
for(i=0,n--; i
x[i]=x[n];
x[n]=c;
}
}
int main()
{ char str[80];
cout<<"输入一个字符串:";
cin>>str;
cont(str,strlen(str));
cout<
void contrary(char *x) { int i,n,k;
n=0; while ( x[n] ) n++;
for ( i=0;i
cin>>str; contrary(str); cout<