从键盘输入一串字符串,统计字符串中特定字符的个数(特定字符需要从键盘输入),并输出个数。 说明?

(1)输入字符串时使用gets函数。
(2)字符串存入一个足够大的字符数组中,保证输入的字符个数不要超过最大个数。
(3)在主函数中输入字符串,通过调用统计函数(strStat,要把字符串和特定字符传给函数)返回特定字符的个数,并在主函数中输出。
(4)统计时使用循环控制语句,需要了解字符数组的结束标志是’\0’,作为循环的结束标志。
(5)输出数据的格式如下: The number of * is *!
例如:
Statistics suggest that the population of this country will be double in ten years //输入的字符串
t //输入的特定字符
The number of t is 11 ! //输出的统计结果

思路:从键盘分别输入字符串和要统计的字符,然后对此字符串从头开始逐个与所统计的字符比较。

如相同,则让计数器加1,知道字符串整体比较结束为止,计数器中就是需统计的字符的个数,具体代码设计如下:


函数应用

1、连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.

例:concat(‘11’,'aa’)='11aa’;

2、求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。

例:copy(‘abdag’,2,3)=’bda’

3、删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。

例:s:=’abcde’;delete(s,2,3);结果s:=’ae’

4、插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置

例:s:=abc;insert(‘12’,s,2);结果s:=’a12bc’

温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-02-08

思路:从键盘分别输入字符串和要统计的字符,然后对此字符串从头开始逐个与所统计的字符比较。

如相同,则让计数器加1,知道字符串整体比较结束为止,计数器中就是需统计的字符的个数,具体代码设计如下:


函数应用

1、连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.

例:concat(‘11’,'aa’)='11aa’;

2、求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。

例:copy(‘abdag’,2,3)=’bda’

3、删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。

例:s:=’abcde’;delete(s,2,3);结果s:=’ae’

4、插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置

例:s:=abc;insert(‘12’,s,2);结果s:=’a12bc’

第2个回答  2022-03-05

思路:从键盘分别输入字符串和要统计的字符,然后对此字符串从头开始逐个与所统计的字符比较。

如相同,则让计数器加1,知道字符串整体比较结束为止,计数器中就是需统计的字符的个数,具体代码设计如下:


函数应用

1、连接运算 concat(s1,s2,s3…sn) 相当于s1+s2+s3+…+sn.

例:concat(‘11’,'aa’)='11aa’;

2、求子串。 Copy(s,I,I) 从字符串s中截取第I个字符开始后的长度为l的子串。

例:copy(‘abdag’,2,3)=’bda’

3、删除子串。过程 Delete(s,I,l) 从字符串s中删除第I个字符开始后的长度为l的子串。

例:s:=’abcde’;delete(s,2,3);结果s:=’ae’

4、插入子串。 过程Insert(s1,s2,I) 把s1插入到s2的第I个位置

例:s:=abc;insert(‘12’,s,2);结果s:=’a12bc’

第3个回答  2020-12-17

#include <stdio.h>
int strStat(char str[], char search){
int i=0,sum=0;
while(str[i]){
if(str[i++]==search)
sum++;
}
return sum;
}
int main()
{
int jieguo;
char sousuo,str[1000];
gets(str);
sousuo=getchar();
jieguo=strStat(str,sousuo);
printf("The number of %c is %d!",sousuo,jieguo);
return 0;
}

第4个回答  2022-09-02
#include <stdio.h>
#include <stdlib.h>
//统计函数
int strStat (char *str, char ch) {
    int n = 0;    //统计个数的变量
    for (int i = 0; str[i] != '\0'; i++) {
        n += (str[i] == ch);
    }
    return n;
}
//main函数
int main (void) {
    char *s, c;
    scanf ("%m[^\n] %c", &s, &c);
    /* %m[^\n]用来输入字符串s,表示只要不是回车换行符的字符都要读取。(%s不能读取空格)
    %c用来输入指定的字符,中间的空格用来匹配stdin中的换行符,以防换行符与%c匹配而被c读走;
    格式控制字符串中的m表示根据输入的字符串长度分配足够大小的内存空间,使用完毕后要释放 */
    printf ("The number of %c is %d!\n", c, strStat (s, c));    //调用统计函数,返回结果
    free (s);
    return 0;
}

相关了解……

你可能感兴趣的内容

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