急!急!急!一道C语言程序题,请大家帮帮忙啊!

来源:百度知道 编辑:UC知道 时间:2024/06/28 02:21:17
输入一个含若干字符的字符串,分别找出其中的字母和数字,其余的字符一概忽略。将重复的去掉后,分别按从小到大的顺序排列后输出。

#include<stdio.h>
#include <stdlib.h>

int main()
{
char c;
char data[100];
int index=0;
int i,j;
while((c=getchar())!='\n')
{
if((c>='0'&&c<='9')||(c>='A'&&c<='Z')||(c>='a'&&c<='z'))
{
if(index==0)
data[index++]=c;
else
{
for(i=0;i<index;i++)
{
if(data[i]>c)
{
for(j=index+1;j>i;j--)
{
data[j]=data[j-1];
}
data[i]=c;
index++;
break;
}
if(i==index-1)
{
data[index]=c;
index++;
break;
}
}
}
}
}
for(i=0;i<index;i++)
printf("%c",data[i]);
}
完全c编写,有问题hi我,可以运行的,输入字符串,换行结束输入.

大概思路如下:建一个以为数组,通过for循环让每个字符