字符数组的无序状态并去重且排序
#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");
}

浙公网安备 33010602011771号