题目:编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次
输入
abaca
输出
3
输入描述:
输入N个字符,字符在ACSII码范围内。
输出描述
输出范围在(0~127)字符的个数。
示例
输入:abcc
输出:3
C语言代码:
#include<stdio.h>
#define N 6000
int main(){
char n,s[N];
int p=0,t=0;
for(int i = 0; i<N;i++){
scanf("%c",&n);
s[i]=n;
if(s[i]=='\n'){
break;
}
p=i;
}
s[p+1]='\0';
for(int j=0;j<=p;j++){
for(int k=j+1;k<=p;k++){
if(s[j]==s[k]){
s[k]=' ';
}
}}
for(int y=0 ;y<=p; y++){
if(s[y]!=' '){
t++;
}
}
printf("%d\n",t);
return 0;
}
注:本代码题来自牛客网-华为机试