请编写函数Sort函数,将字符串中除首、尾字符外的其余字符按降序排列。
函数接口定义:
void Sort( char *p );
其中 p是用户传入的参数。字符指针 p 指向要操作的字符串。
裁判测试程序样例:
#include <stdio.h> void Sort(char *p); int main(void) { char str[21] ; gets(str); Sort(str); puts(str); return 0; } /* 请在这里填写答案 */
输入样例:
在这里给出一组输入。例如:
CEAedca
输出样例:
在这里给出相应的输出。例如:
CedcEAa
void Sort( char *p )
{
int num=0;
char tmp;
int i,j;
while(*(p+num)!='\0')
{
num++;
}
for(i=1;i<num-1;i++)
{
for(j=1;j<num-1-i;j++)
{
if(*(p+j)<*(p+j+1))
{
tmp=*(p+j);
*(p+j)=*(p+j+1);
*(p+j+1)=tmp;
}
}
}
}
简单分析一下题目,首先是去掉首尾,可以通过循环实现。然后就是排序,算法与之前的题目可以说完全一样,就是起点不是0而是1,最后小心是降序。