C语言:编写函数:功能是返回字符串s中的指定字符c的出现次数。
5个回答
展开全部
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<stdio.h>
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);
}
祝你愉快!
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);
}
祝你愉快!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2018-03-22
展开全部
定义了字符串最大长度80,试试
#include<stdio.h>
#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<len;i++)
printf("字符%c:%2d个\t",ch[i],count[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<Maxlen;i++)
{
flag=1;
for(j=0;j<Maxlen;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<stdio.h>
#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<stdio.h>
#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<len;i++)
printf("字符%c:%2d个\t",ch[i],count[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<Maxlen;i++)
{
flag=1;
for(j=0;j<Maxlen;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<stdio.h>
#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<iostream.h>
#include<string>
#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<MAX_CHAR_NUM;i++)
{
//如果出现次数不为0
if (arr[i]>0)
printf("%c : %d\n",i,arr[i]);//打印出现次数
break;
}
}
#include<iostream.h>
#include<string>
#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<MAX_CHAR_NUM;i++)
{
//如果出现次数不为0
if (arr[i]>0)
printf("%c : %d\n",i,arr[i]);//打印出现次数
break;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询