从键盘输入一个字符串,统计其中*的数量

刚接触C语言,还不太了解,想要详细一些的解题思路和步骤,谢谢

望采纳!谢谢

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

1.先定义一个字符数组char str[100]={}; 用它来接收输入的字符串 //字符数组的长度根据你的需要进行修改
2.定义一个整形变量int n=0; //用来记录'*'的个数
3.for循环遍历每一个字符,用if判断语句判断该字符是否为'*',是则加1
4.输出计数结果n

一个实现,如下:

#include <stdio.h>

int main(void){
    
    char str[100];  //用于存储输入的字符串的字符数组 
    
    gets(str);  //从键盘获取一个字符串输入 
    
    int num=0;  //初始化星号的数量变量为0 
    int i=0;   //初始化访问输入字符数组的下标变量为0 
    while(str[i]!='\0'){  //如果字符串没有结束,字符串以'\0'空字符为结尾 
        if(str[i]=='*'){  //如果字符数组的当前下标为星号,则其数量增加一 
            num++; 
        }
        i++;
    }
    
    printf("星号的数量为%d个。\n",num);  //打印结果。 
    
    return 0;
}