字符数组的无序状态并去重且排序

#include<stdio.h>
main()
{
char str[100]={'\0'};                               /*字符数组初始化*/
int j=0,i,k=0,n=0;
char ch;
int c;
while((ch=getchar())!='#')                 /*字符遇到#结束*/
{
str[k++]=ch;
}
n=k;
for(i=0;i<n-1;++i)
{
for(j=i+1;j<n;++j)
{
if(str[i]==str[j])               /*若表示字符数组中有重复的数*/

for(c=j;c<n;++c)
str[c]=str[c+1];
j--;                                   /*J--表示返回前一个数组下标*/
n--;                                 /*N--表示重复数少了一个*/
}

}
}
char temp;
for(i=0;i<n-1;++i)             /*运用排序方法进从小到大进行排序*/
for(j=i+1;j<n;++j)
{
if(str[i]>str[j])
{
temp=str[j];
str[j]=str[i];
str[i]=temp;
}
}
puts(str);
printf("\n");
}

posted @ 2020-09-28 14:03  叶无殇  阅读(70)  评论(0)    收藏  举报