输入一个字符串,单词以逗号或空格隔开。要求:滤除相同的字符串,单词以空格隔开。

来源:互联网 发布:ubuntu php集成环境 编辑:程序博客网 时间:2024/04/30 19:26
#include<stdio.h>#include<string.h>void strFliter(char *pInput)  {      char *str;<span style="white-space:pre"></span>char *input = pInput;<span style="white-space:pre"></span>char *result[256];<span style="white-space:pre"></span>int cnt = 0,i,j;<span style="white-space:pre"></span>char *temp;<span style="white-space:pre"></span>while(input){<span style="white-space:pre"></span>str = strsep(&input,",");<span style="white-space:pre"></span>result[cnt++] = str;<span style="white-space:pre"></span>}<span style="white-space:pre"></span>printf("cnt = %d\n",cnt);<span style="white-space:pre"></span>printf("Fliter pre: ");<span style="white-space:pre"></span>for(i=0;i<cnt;++i)<span style="white-space:pre"></span>printf("%s ",result[i]);<span style="white-space:pre"></span>printf("\n");<span style="white-space:pre"></span>for(i=0;i<cnt;){<span style="white-space:pre"></span>while(result[i] == NULL)<span style="white-space:pre"></span>++i;<span style="white-space:pre"></span>temp = result[i];<span style="white-space:pre"></span>for(j=i+1;j<cnt;){<span style="white-space:pre"></span>while(result[j] == NULL)<span style="white-space:pre"></span>++j;<span style="white-space:pre"></span>if(!strcmp(temp,result[j]))<span style="white-space:pre"></span>result[j] = NULL;<span style="white-space:pre"></span>++j;<span style="white-space:pre"></span>}<span style="white-space:pre"></span>++i;<span style="white-space:pre"></span>}<span style="white-space:pre"></span>printf("Fliter aft: ");<span style="white-space:pre"></span>for(i=0;i<cnt;++i){<span style="white-space:pre"></span>if(result[i]!=NULL)<span style="white-space:pre"></span>printf("%s ",result[i]);<span style="white-space:pre"></span>}<span style="white-space:pre"></span>printf("\n");}        int main(int argc, char* argv[])  {        char inputchar[1000]={'\0'}; <span style="white-space:pre"></span>scanf("%s",inputchar);    strFliter(inputchar);       return 0;  }  
0 0
原创粉丝点击