char a[]="dabcb";如何删去a中的重复字符?
谢谢~~
[此贴子已经被作者于2007-11-18 10:38:15编辑过]
char a[]="dabcb";如何删去a中的重复字符?
谢谢~~
[此贴子已经被作者于2007-11-18 10:38:15编辑过]
#include<stdio.h>
#include<string.h>
struct words{
char word[80];
int num;
} passage[10];
main()
{
char s[]="This is C programming text This is C text";
char a[10][80];
int i,j,k,t,r,u;
i=j=k=t=u=0;
for(i=0;i<10;i++){
passage[i].num=1;
}
i=0;
while(k<strlen(s)){
while(s[k]!=' '&&k<strlen(s)){
a[i][j]=s[k];
j++;
k++;
}
a[i][j]='\0';
i++;
k++;
j=0;
}
for(t=0;t<i;t++){
puts(a[t]);
}
printf("\n\n");
for(t=0;t<i;t++){
strcpy(passage[u++].word,a[t]);
}
for(t=0;t<i-1;t++){
for(j=t+1;j<i;j++){
if(strcmp(passage[t].word,passage[j].word)==0){
passage[t].num++;
}
}
}
for(r=0;r<u;r++){
if(passage[r].num==1){
printf("%s \n",passage[r].word);
}
}
}
#include <stdio.h>
void main()
{
int i,j=0;
char a[100];
char b[75]={0}; /*字符对应的ASCII码的十进制 0=48 9=57 A=65 Z=90 a=97 z=122 122-48+1=75*/
printf("请输入一个字符串:");
scanf("%s",a);
for (i=0;i<strlen(a);i++)
if (b[a[i]-48]!='1')
{ b[a[i]-48]='1';
a[j]=a[i];j++; }
a[j]='\0';
printf("%s",a);
getch();
}
老大,if (b[a[i]-48]!='1')
{ b[a[i]-48]='1';
这一块不理解.你写了解释/*字符对应的ASCII码的十进制 0=48 9=57 A=65 Z=90 a=97 z=122 122-48+1=75*/
但我还是不懂.请讲一下嘛?谢谢~~