m0_63996300 2021-11-24 09:02 采纳率: 100%
浏览 30
已结题

c++,大一新生不会做

1、从键盘输入一串字符以及一个字符,找到这个字符在字符串中出现的第一次的位置和最后一次的位置的间距是多少。

输入:abcdefdefd输出:字符d
第一次出现在第4个最后一次出现在第7个第一次的位置和最后一次的位置间距为:3

  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2021-11-24 09:04
    关注

    分别从首尾两个方向搜索这个字符,第一个找到的两个位置就是了

    #include <iostream>
    #include <string.h>
    using namespace std;
    int main()
    {
        char s[100],ch;
        gets(s);
        ch = getchar();
        int pos1=-1,pos2=-1;
        int n = strlen(s);
        for(int i=0;i<n;i++)
            if(s[i] == ch)
            {
                pos1 = i;
                break;
            }
        for(int i=n-1;i>=0;i--)
            if(s[i] == ch)
            {
                pos2 = i;
                break;
            }
        if(pos1 >= 0 && pos2>=0)
              cout<<pos2-pos1<<endl;
        else
              cout<<"字符没有出现两次"<<endl;
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月2日
  • 已采纳回答 11月24日
  • 创建了问题 11月24日

悬赏问题

  • ¥15 hexo+github部署博客
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?