c语言,从键盘输入一串字符串,统计字符串中特定字符的个数,并输出个数

如题所述

程序设计思路如下:

从键盘分别输入字符串和要统计的字符,然后对此字符串从头开始逐个与所统计的字符比较,如相同,则让计数器加1,知道字符串整体比较结束为止,计数器中就是需统计的字符的个数。

#include "stdio.h"

main()
{ char str[100],ch;  /*定义str字符串,定义ch用来存放要统计的字符*/
  int cnt=0,i;       /*定义cnt用作计数器,初始值为0*/
  
  /*输入字符串*/
  printf("请输入字符串:");    
  gets(str);
  
  /*输入要统计的字符*/
  printf("请输入要统计的字符:");
  scanf("%c",&ch);
  
  /*对此字符串从头开始逐个与所统计的字符比较,如相同,则让计数器加1,知道字符串整体比较结束为止*/
  for( i=0;str[i];i++ )
     if( str[i]==ch )
         cnt++;
  
  /*输出结果*/       
  printf("%s串中%c字符的个数是:%d个",str,ch,cnt);
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-06-10

主要代码:

char s[1000];
int i,j=0; 
scanf("%s",s); 
for(i=0;i<1000;i++)
{
if(s[i]=='*') //查找字符*的数量
j++;//利用变量j计数
}

追问

可不可以编写完整程序呢?谢谢

追答

基本上把它写入主函数就行了吧

#include<stdio.h>

int main()

{  

char s[1000];

int i,j=0; 

scanf("%s",s); 

for(i=0;i<1000;i++)

{

if(s[i]=='*') //for循环查找字符*的数量

j++;//利用变量j计数



printf("指定字符数为%d\n",j);

return 0;

}

追问

要输出的是从键盘上输入的一个特定字符的个数,不是*

追答

你把*换成你要求的字符就行了,*只是做个示范。你的意思是我把它改改,加一个从键盘输入特定字符的语句?

追问

不用了,你写的对的,可能我理解错题意了,谢谢了

追答

如你所说,我写了个比较全能的代码,应该更符合题意

#include<stdio.h> 

int main() 

{   

char s[1000],sp; 

int i,j=0; 

printf("请输入字符串\n");

scanf("%s",s);

getchar();

printf("请输入特定字符\n");

scanf("%c",&sp);

for(i=0;i<1000;i++) 



if(s[i]==sp) //for循环查找字符sp的数量 

j++;//利用变量j计数 

}  

printf("指定字符数为%d\n",j); 

return 0; 

}

本回答被提问者采纳
第2个回答  2016-05-26
主要代码:
char s[1000];
int i,j=0;
scanf("%s",s);
for(i=0;i<1000;i++)
{
if(s[i]=='*') //for循环查找字符*的数量
j++;//利用变量j计数
}
第3个回答  2016-07-09
主要代码:
char s[1000];
int i,j=0;
scanf("%s",s);
for(i=0;i<1000;i++)
{
if(s[i]=='*') //for循环查找字符*的数量
j++;//利用变量j计数
}
第4个回答  2016-06-08
#include <stdio.h>
#include <string.h>
#define MAX 100
int main()
{
char num[MAX]={0};
char c=0;
int len,cnt=0;
scanf("%s %c",num,&c);
len=strlen(num);
while(len--)
{
if(c==num[len]) cnt++;
}
printf("%d\n",cnt);
    return 0;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网