dele函数的功能:对给定的字符串,去掉重复的字符与字符串中的空格后,按照字符ASCII码顺序从小到大排序后输出。
函数接口定义:
void dele(char arr[]);
裁判测试程序样例:
#include<stdio.h>
#include"string.h"
void dele(char arr[]);
int main(void)
{
char strA[81];
gets(strA);
dele(strA);
puts(strA);
return 0;
}
/* 请在这里填写答案 */
输入样例:
abcd efg abc fH 3 2 1
结尾无空行
输出样例:
123Habcdefg
代码:
void dele(char a[])
{
int i,j,n;
char t;
n=strlen(a);
for(i=0;i<n;i++)//删除空格
{
if(a[i]==' ')
{
for(j=i;j<n;j++)
{
a[j]=a[j+1];
}
n--;
i--;//防止a[i+1]也为空格
}
}
for(i=0;i<n;i++)//用选择排序法排序
{
for(j=i+1;j<n;j++)
{
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
for(i=0;i<n;i++)//删除重复字符
{
while(a[i]==a[i+1])
{
for(j=i+1;j<n;j++)
{
a[j]=a[j+1];
}
n--;
}
}
}