|
发表于 2022-10-11 19:46:07
|
显示全部楼层
本帖最后由 jhq999 于 2022-10-11 20:13 编辑
//都是手写的没上机运行
- int count(char s[])//如果有汉字就复杂一些
- {
- char ch[128]={0};
- int i=0,count=0;
- while(s[i])
- {
- if(0==ch[s[i]])count+=1,ch[s[i]]=1;
- i+=1;
- }
- return count+1;
- }
复制代码
- int count(const char s[])
- {
-
- char ch[128]={0};
- int i=0,j=0,k=0,count=0,chincount=0;
- while(s[chincount++]);
- chincount>>=1;
- char (*chin)[2]=(char(*)[2])calloc(chincount,2);
- i=0;
- chincoun=0;
- while(s[i])
- {
- if(s[i]>=0)
- if(0==ch[s[i]])count+=1,ch[s[i]]=1;
- else
- {
- for(j=0;j<chincount;j++)
- {
- if(chin[j][0]==s[i]&&s[i+1]==chin[j][1])break;
-
- }
- if(j==chincout)
- {
- chin[j][0]=s[i],chin[j][1]=s[i+1];
- chincount+=1;
- count+=1;
- }
- i+=1;
- }
- i+=1;
- }
- free(chin);
- return count+1;
- }
复制代码
|
|