int fun(char * str,char c)
{
int i=0;
int count=0;
do
{
if(str[i]==c)
{
count++;
}
}while(str[++i]!=0);
return count;
}
int getCount(char s[],char c)
{
int count=0,i;
for(i=0;s[i]!='\0';i++)
if(s[i]==c)
count++;
return count;
}
#include
int main()
{
char s[80],c;
int i,j=0;
printf("输入字符串:");
gets(s);
printf("输入要查询的字符:");
c=getchar();
for(i=0;i<80;i++)
{
if(s[i]==c)
j++;
}
printf("%c出现的次数为%d次!",c,j);
}
祝你愉快!
定义了字符串最大长度80,试试
#include
#define Max 80
void main()
{
void fun(char s[],char ch[],int count[],int *len);
char s[Max],ch[Max];
int count[Max],len,i;
/*******************************/
gets(s);
fun(s,ch,count,&len);
printf("共有 %d种字符\n",len);
for(i=0;i
}
/***************************************/
void fun(char s[],char ch[],int count[],int *len)
{
int i,j,flag,Maxlen;
*len=0;
for(Maxlen=0;s[Maxlen]!='\0';Maxlen++);
/*********************/
for(i=0;i
flag=1;
for(j=0;j
if(s[j]!='\0'&&flag==1)
{
ch[*len]=s[j];
flag=0;
s[j]='\0';
count[*len]=1;
}
else if(flag==0&&ch[*len]==s[j])
{
count[*len]++;
s[j]='\0';
}
}
if(flag==1)break;
(*len)++;
}
}
刚发现,我把题义看错了,原来是求指定字符个数,上面那段是把所有字符全数了一遍
#include
#define Max 80
void main()
{
int fun(char s[],char ch);
char s[80],ch;
int count;
gets(s);
ch=getchar();
count=fun(s,ch);
printf("字符串 %s 中包含字符 %c 共 %d 个\n",s,ch,count);
}
/**************************/
int fun(char s[],char ch)
{
int i,count;
for(i=count=0;s[i]!='\0';i++)
if(ch==s[i])count++;
return count;
}
//打印字符串中每个字符出现的次数
#include
#include
#define MAX_CHAR_NUM 128//定义长度
void PrintNumOfChars(char str[])
{
int i;
int arr[MAX_CHAR_NUM]={0};
int n = 0;//n为第一次出现的位置
char* p = str[n];
//声明一个指针指向这个字符串,当该指针指向不为空时
while(*p)
{
//出现一次,次数加一次
arr[*p++]++;
}
for(i=0;i
//如果出现次数不为0
if (arr[i]>0)
printf("%c : %d\n",i,arr[i]);//打印出现次数
break;
}
}