字符转换
View Code
#include<stdio.h> #include<malloc.h> void Conver(char *input,char *output); void main() { /*声明两个char指针,分配内存空间*/ char *input=(char*)malloc(sizeof(char)); char *output=(char*)malloc(sizeof(char)); /*给input指针变量赋值*/ gets(input); /*调用Conver方法*/ Conver(input,output); puts(output); putchar('\n'); } void Conver(char *input,char *output) { int len=0; /**首先将所有的字符按a->b,b->c,...z->a进行转换*/ while(input[len]) { if(input[len]=='z') { output[len]='a'; } else { output[len]=input[len]+1; } ++len; } /*再将所有字符按照aa->bc,aaa->bcb,zzzz->abab进行转换*/ /*由于前面已将将a->b,此时只需要将aaa->aba,zzzzz->zazaz*/ len=0; while(output[len]) { char m=output[len]; int n=len; while(output[n]) { if(output[n]!=output[++n]) break; } for(int i=0;i<n-len;i++) { if(i%2==1) { if(m=='z') { output[len+i]='a'; } else { output[len+i]=m+1; } } } len=n; } return ; }