题解 | #字符个数统计#
字符个数统计
https://www.nowcoder.com/practice/eb94f6a5b2ba49c6ac72d40b5ce95f50
简单分享一下自己的解题思路
主函数初始化数组并统计字符个数,运行题目要求函数后获取答案并打印。
tj()函数内部创建了一个map[127]数组 循环127次将字符置入每一个对应的下标
然后for循环嵌套对比目标字符串 如果有相同的count+1 并将map[j]对应的字符置为NULL(方便下次不再重复对比)
最后返回count
欢迎各位批评指正,提出优化建议!
#include <stdio.h>
#include <string.h>
int tj(char *str,int len)
{
int count=0;
char map[127];
for(int i=0;i<=127;i++)
{
map[i]=i;
}
for(int i=0;i<len;i++)
{
for(int j=0;j<=127;j++)
{
if(map[j]==str[i])
{
count++;
map[j]=NULL;
}
}
}
return count;
}
int main()
{
char str[500];
scanf("%[^\n]\n",str);
int len=strlen(str);
int count=tj(str,len);
printf("%d",count);
return 0;
}
#include <string.h>
int tj(char *str,int len)
{
int count=0;
char map[127];
for(int i=0;i<=127;i++)
{
map[i]=i;
}
for(int i=0;i<len;i++)
{
for(int j=0;j<=127;j++)
{
if(map[j]==str[i])
{
count++;
map[j]=NULL;
}
}
}
return count;
}
int main()
{
char str[500];
scanf("%[^\n]\n",str);
int len=strlen(str);
int count=tj(str,len);
printf("%d",count);
return 0;
}