急!程序错在哪???
题目:形如a2f4c2a3a7q1的字符串(其中前一个字母和后一个数字是成对的不可分开)按字母升序排列输出整理后的字符串如:a2a2a7c2f4q1我编的程序如下不知道怎么输不出结果,请问我的程序有什么错误还有我的算法能否达到效果,请大家指教。
/***功能:对字符串进行整理***/
#include<stdio.h>
#include<string.h>
#define M 50
void main()
{ void Sort(char s[],int n);
char str[M];
int len;
printf("请输入字符串str:");
gets(str);
len=strlen(str); /*计算字符串的长度*/
Sort(str,len); /*调用排序函数*/
}
void Sort(char s[],int n)
{
int i,j;
char temp;
for(j=0;j<n;j=j+2) /*冒泡排序,以字母顺序排序*/
{
for(i=0;i<n-j;i=i+2)
{
if(s[i]>s[i+2])
{
temp=s[i];
s[i]=s[i+2];
s[i+2]=temp;
temp=s[i+1];
s[i+1]=s[i+3];
s[i+3]=temp;
}
}
}
printf("%s",s);
}