OR46. 字符集合
描述
输入描述
每组数据输入一个字符串,字符串最大长度为100,且只包含字母,不可能为空串,区分大小写。输出描述
每组数据一行,按字符串原有的字符顺序,输出字符集合,即重复出现并靠后的字母不输出。示例1
输入:
abcqweracb
输出:
abcqwer
示例2
输入:
aaa
输出:
a
C 解法, 执行用时: 1ms, 内存消耗: 344KB, 提交时间: 2018-08-09
#include "stdlib.h" #include "stdio.h" #include "memory.h" #include "string.h" int ComPareStr(char *Input,char *Output) { int i,j; int len; len=strlen(Input); int flag=0; int cnt=0; for(i=0;i<len;i++) { flag=0; for(j=0;j<cnt;j++) { if(Input[i]==Output[j]) { flag=1; break; } } if(flag==0) { Output[cnt]=Input[i]; cnt++; } } return cnt; } int main() { char Input[100]; char Output[100]; int len; int i; int TestN=0; while(~scanf("%s",&Input)) { TestN++; // scanf("%s",&Input); len=ComPareStr(Input,Output); //len=strlen(Output); for(i=0;i<len;i++) { printf("%c",Output[i]); } printf("\n"); Output[0]='\0'; Input[0]='\0'; } return 0; }
C 解法, 执行用时: 1ms, 内存消耗: 360KB, 提交时间: 2020-08-06
#include <stdio.h> int main() { char str[100]; while (scanf("%s", &str) != EOF) { int a[256] = { 0 }; for (int i = 0; str[i] != '\0'; i++) { a[str[i]] ++; if (a[str[i]] == 1) printf("%c", str[i]); } printf("\n"); } return 0; }