c语言,输入为一些字符串,想要去除重复的字符串然后输出

c语言,输入为一些字符串,想要去除重复的字符串然后输出一定要是c语言,拜托了

#define N 100  //定义最多可以测试100个字串 
#define M 100  //定义每个字串最长100 
#define END "End!"   //定义结束输入的字串 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int issame(char *p[],char *f,int n){
int i;
for(i=0;i<=n;i++)
if(strcmp(p[i],f)==0) return 1;
return 0;
}
int main(void){
char *p[N];
int i=0,total;
int count=0;
printf("请输入不多于%d的字符串,以End!为结束\n",N);
while(1){
p[i]=(char *)(malloc(M)); //定义每个字串最长为100 
printf("第%d个字串:",i+1);
gets(p[i]);
if (strcmp(p[i],END)==0) break;  //如果输入了结束标记则结束输入 
i++;
}
total=i-1;  //计算总共输入了多少字串 
printf("以下得出不同的字串\n");
for(i=0;i<=total;i++){
if(issame(p,p[i],i-1)==0){  //检查是否与前面输入的字符一致
count++;
printf("%d\t%s\n",count,p[i]);
}
}

}

温馨提示:答案为网友推荐,仅供参考
相似回答