妖歌917 2022-04-06 08:53 采纳率: 100%
浏览 56
已结题

关于数组的一个入门题型

【问题描述】编程实现在一个字符串中查找指定的字符,并输出指定的字符在字符串中出现的次数及位置,如果该字符串中不包含指定的字符,请输出提示信息。

(1)定义字符数组str用来存放字符串,整数数组count用来存放指定的字符在字符串中出现的次数和位置(即对应的下标)。数组count[0]存放出现的次数,后面依次存放每个出现的位置。

(2)定义字符ch存放要查找的字符。

(3)给字符数组str输入一个字符串,给ch输入查找字符。(字符串中应可以输入空格)

(4)在字符数组中查找ch,如果查找到把相应的查找结果存放到数组count中。如果查找到,输出出现的次数和各个位置。如果查找不到,输出"No match!"。提示:设置标志变量flag用于判断是否查找到。

【输入形式】第一行输入字符串,第二行输入要查找的字符
【输出形式】如果查找到第一行输出出现次数,第二行输出各个位置,否则输出:No match!

【样例输入】

dfdfjkjjfdffd

d
【样例输出】

4

0 2 9 12

  • 写回答

1条回答 默认 最新

  • fuill 2022-04-06 10:10
    关注
    #include<stdio.h>
    #include<string.h>
    #define maxlen 150
    int main()
    {
        char str[maxlen],ch;
        int count[maxlen]= {0};
        gets(str);
        ch=getchar();
        int len=strlen(str),p=1;
        for(int i=0; i<len; i++)
            if(str[i]==ch)
            {
                count[0]++;
                count[p++]=i;
            }
        int flag=1;
        if(p==1)
            flag=0;
        if(flag==0)
        {
            printf("No match!");
            return 0;
        }
        printf("%d\n",count[0]);
        for(int i=1; i<p; i++)
            printf("%d ",count[i]);
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月6日
  • 已采纳回答 4月6日
  • 创建了问题 4月6日

悬赏问题

  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染