2301_79946358 2023-11-16 13:51 采纳率: 66.7%
浏览 6

输入两行一行包括一个字符串,忽略空格和大小写,判断是否相等

我想先全部转换成大写再通过ascii码相加判断是否相等,但是每次都差一些


#include<iostream>
using namespace std;
int main()
{
    string s,sa;
    getline(cin,s);
    getline(cin,sa);
    int ans,ans1,d;
        for(int i=0;i<(int)s.length();i++){
             if(s[i]!=' ') s[i]=toupper(s[i]),ans+=int(s[i]),cout<<s[i];
             
        }
        cout<<endl;
        for(int i=0;i<(int)sa.length();i++){
                 if(sa[i]!=' ') sa[i]=toupper(sa[i]),ans1+=int(sa[i]),cout<<sa[i];
                 
            }
            cout<<endl;
        if(ans==ans1) d=0;
        else d=1;
        cout<<ans<<' '<<ans1<<endl;
    if(d==0) cout<<"YES"<<endl;
    else cout<<"NO"<<endl;
}

img

  • 写回答

3条回答 默认 最新

  • 玥轩_521 2023-11-16 13:56
    关注

    你的代码中存在一些问题,我将为你提供一个修复后的版本。首先,你需要在循环开始前初始化ansans1为0。其次,你需要在比较两个字符串是否相等之前,先删除字符串中的空格并将所有字符转换为大写。最后,你需要使用==而不是=来判断两个字符串是否相等。

    以下是修复后的代码:

    #include<iostream>
    #include<string>
    #include<algorithm>
    using namespace std;
    int main()
    {
        string s,sa;
        getline(cin,s);
        getline(cin,sa);
        int ans = 0, ans1 = 0, d;
    
        // 删除字符串中的空格并将所有字符转换为大写
        s.erase(remove_if(s.begin(), s.end(), ::isspace), s.end());
        sa.erase(remove_if(sa.begin(), sa.end(), ::isspace), sa.end());
        transform(s.begin(), s.end(), s.begin(), ::toupper);
        transform(sa.begin(), sa.end(), sa.begin(), ::toupper);
    
        // 计算字符串的ASCII码之和
        for(int i=0;i<(int)s.length();i++){
            ans += int(s[i]);
        }
        for(int i=0;i<(int)sa.length();i++){
            ans1 += int(sa[i]);
        }
    
        // 判断两个字符串是否相等
        if(ans == ans1) d = 0;
        else d = 1;
    
        if(d == 0) cout << "YES" << endl;
        else cout << "NO" << endl;
    }
    

    这个修复后的代码应该可以正确地判断两个字符串是否相等。

    评论

报告相同问题?

问题事件

  • 创建了问题 11月16日

悬赏问题

  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 有偿四位数,节约算法和扫描算法
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制
  • ¥20 Vs code Mac系统 PHP Debug调试环境配置
  • ¥60 大一项目课,微信小程序
  • ¥15 求视频摘要youtube和ovp数据集