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

(1)输入字符串时使用gets函数。(2)字符串存入一个足够大的字符数组中,保证输入的字符个数不要超过最大个数。(3)在主函数中输入字符串,通过调用统计函数(strSta... (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 ! //输出的统计结果
展开
 我来答
鲨鱼星小游戏
高粉答主

2021-06-26 · 最爱分享有趣的游戏日常!
鲨鱼星小游戏
采纳数:2708 获赞数:238406

向TA提问 私信TA
展开全部

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

如相同,则让计数器加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’

云南新华电脑学校
2022-02-08 · 百度认证:云南新华电脑职业培训学校官方账号
云南新华电脑学校
云南新华电脑学校是经云南省教育厅批准成立的省(部)级重点计算机专业学校,采用三元化管理模式,教学设备先进,师资雄厚学生毕业即就业,学院引进了电商企业入驻,创建心为电商创业园区,实现在校即创业
向TA提问
展开全部

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

如相同,则让计数器加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’

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
济南酷玩电脑
2022-03-05
知道答主
回答量:11
采纳率:0%
帮助的人:2089
展开全部

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

如相同,则让计数器加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’

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
参观西湖
2020-12-17 · 古籍有很多,写出来一起欣赏。
参观西湖
采纳数:919 获赞数:2312

向TA提问 私信TA
展开全部

#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;
}

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
stanchcorder6
2022-09-02 · TA获得超过3089个赞
知道大有可为答主
回答量:3925
采纳率:70%
帮助的人:901万
展开全部
#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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式