C++判断不同字符个数
答案:4 悬赏:50 手机版
解决时间 2021-04-10 21:57
- 提问者网友:酱爆肉
- 2021-04-10 11:21
要求函数参数为char* ,统计不同字符的类型,比如说:abcdefadadad,其中不同类型的字符为:a,b,c,d ,e,f共5个,函数返回5
最佳答案
- 五星知识达人网友:渊鱼
- 2021-04-10 12:05
#include
#include
using namespace std;
#define N 20
int fun(char* str)
{
char *p;
char ch[N]={NULL};
int count=0,i,flag=0;
for(p=str;*p!='\0';p++)
{
flag=0;
for(i=0;i {
if(ch[i]==*p) flag=1;
}
if(flag==0) ch[count++]=*p;
}
return count;
}
void main()
{
char str[N]={NULL};
int num;
cout< cin>>str;
num=fun(str);
cout<}
全部回答
- 1楼网友:孤老序
- 2021-04-10 14:59
#include
using namespace std;
int main()
{
int i,j=0,num[26]={0};
char str[100];
cin>>str;
char *p=str;
while(*p)
{
if(*p>='a'&& *p<='z')
num[*p-'a']=1;
p++;
}
for(i=0;i<26;i++)
{
if(num[i]>0)j++;
}
cout< system("pause");
return 0;
}
- 2楼网友:往事隔山水
- 2021-04-10 14:01
定义一个26个空间的数组,最后统计不为零的个数就可以
int i,a[26]={0},t=0;
char b[100];
gets(b);
for(i=0;b[i]!='\0';i++)
a[b[i]-'a']++; //这里只是统计小写字母,要是有大写,需要转换等处理,看要求
for(i=0;i<26;i++)
if(a[i])
t++;
- 3楼网友:鸽屿
- 2021-04-10 13:03
#include
void main()
{
char a;
int x=0,n=0,s=0,q=0;//x是英文字母,n是空格,s是数字,q是其他..
printf("请任意输入一行字符:");
fflush(stdin);
do
{
a=getchar();
if(a<='z'&&a>='a'||a<='z'&&a>='a') x++;
else if (a==' ') n++;
else if (a<='9'&&a>='0')s++;
else q++;
}while (a!='\n');
printf("\n您输入了%d个英文字母,%d个空格,%d个数字,%d个其他字符\n",x,n,s,q-1);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯