题解 | #字符个数统计#
字符个数统计
https://www.nowcoder.com/practice/eb94f6a5b2ba49c6ac72d40b5ce95f50
#include<stdio.h> #include<string.h> #include<stdlib.h> int compare(const void* p1,const void* p2) { return *(char*)p1-*(char*)p2; } int main() { char str[500]; scanf("%s",str); int sz=strlen(str); int count=0,j=0; char str1[500]; for(int i=0;i<sz;i++) { if(str[i]=='\n') { break; } if(str[i]<=127&&str[i]>=0) { str1[j]=str[i]; j++; } } qsort(str1,j,1,compare); char prev=-1; for(int i=0;i<j;i++) { char cur=str1[i]; if(prev!=cur) { count++; } prev=cur; } printf("%d",count); }将满足情况的字符写入字符数组里,利用qsort对其排序,然后直接去重就行!