"100#200#0"
"200#120#0"
"100#560#0"
"200#780#0"
"100#320#0"
"300#980#0"
"400#220#0"
"100#290#0"
"500#400#0"
"600#450#0"
我有个数组(如上),我想把每个元素第一个#前面相同的数字的元素过滤掉,
最终得到
"100#200#0"
"200#120#0"
"300#980#0"
"400#220#0"
"500#400#0"
"600#450#0"
有人能帮帮我吗!
#include
#include
bool compare(char *a,char *b){
int i=0;
while(a[i]!='#'){
if(a[i]!=b[i]){
return false;
}
i++;
}
return true;
}
void mcopy(char *a,char *b){
int i=0;
while(b[i]||a[i]){
a[i]=b[i];
i++;
}
}
int main()
{
char start[12][12]={"100#200#0","200#120#0","100#560#0","200#780#0","100#320#0","300#980#0","400#220#0","100#290#0","500#400#0","600#450#0"};
char result[12][12];
int i=0,j=0,k=0;
for(k=0;k<10;k++){
j=0;
while(j<i){
if(compare(start[k],result[j]))
break;
j++;
}
if(j==i){
mcopy(result[i++],start[k]);
}
}
for(k=0;k<i;k++){
printf("%s\n",result[k]);
}
}
//不会VB,写了个C语言版的,拿去自己改改
假设你这些数据在一个文本框里
这么写
textBox1.Text = String.Join(VbCrLf, textBox1.Lines.Distinct())