問題點主要是在交換的方法,如頭尾交換法,泡沫交換法之類
泡沫交換法
語法:
int main(int argc, char *argv[])
{
char text[100]="";
int tlen,i,j;
clrscr();
printf("\n泡沫交換法\n\n");
printf("\n請輸入一串的英數文字: ");
gets(text);
printf("\n字串長度 : %d \n",strlen(text));
printf("交換前 : %s \n",text);
//字串顛倒 : 泡沫交換法
tlen=strlen(text);
for (i=0;i<tlen-1;i++)
for (j=0;j<tlen-1-i;j++)
text[j]^=text[j+1]^=text[j]^=text[j+1];
printf("交換後 : %s \n\n",text);
pause();
return 0;
}
頭尾交換法
語法:
int main(int argc, char *argv[])
{
char text[100]="";
int tlen,i;
clrscr();
printf("\n頭尾交換法\n\n");
printf("\n請輸入一串的英數文字: ");
gets(text);
printf("\n字串長度 : %d \n",strlen(text));
printf("交換前 : %s \n",text);
//字串顛倒 : 頭尾交換法
tlen=strlen(text);
for (i=0;i<tlen/2;i++)
text[i]^=text[tlen-1-i]^=text[i]^=text[tlen-1-i];
printf("交換後 : %s \n\n",text);
pause();
return 0;
}
