【题目链接】

OpenJudge NOI 1.7 17:字符串判等

【题目考点】

1. 字符串

2. 大小写转换

'a’的ASCII码是97,'A’的ASCII码是65,同一字母的大小写字母的ASCII码差值为32。小写转大写:减32;大写转小写:加32。

【题解代码】

解法1:将字符串中的字母都转为小写字母,去掉所有空格,而后比较

#include <bits/stdc++.h>
using namespace std;
void proc(char s[])//将s中所有字母都转为小写字母,并去掉所有空格
{int len = strlen(s), j = 0;//j填充位置 for(int i = 0; i < len; ++i){if(s[i] >= 'a' && s[i] <= 'z')s[j++] = s[i];else if(s[i] >= 'A' && s[i] <= 'Z')s[j++] = s[i] + 32;}s[j] = '\0';
}
int main()
{char s1[105], s2[105];cin.getline(s1, 105);cin.getline(s2, 105);proc(s1);proc(s2);if(strcmp(s1, s2) == 0)cout << "YES";elsecout << "NO";return 0;
}

解法2:双指针

i为s1的下标,j为s2的下标。i,j不断向后移动,如果遇到空格则跳过。比较s1[i]和s2[j],如果相同,看后一个字符。如果不同,则两个字符串不同。

#include <bits/stdc++.h>
using namespace std;
int main()
{char s1[105], s2[105];cin.getline(s1, 105);cin.getline(s2, 105);int i = 0, j = 0;while(true){if(s1[i] == ' ')i++;else if(s2[j] == ' ')j++;else if(s1[i] == '\0' || s2[j] == '\0')break;else if(tolower(s1[i]) == tolower(s2[j]))//将s1[i]与s2[j]都转为小写后,看是否相同 i++, j++;elsebreak;}if(s1[i]=='\0' && s2[j]=='\0')//如果i,j都遍历到最后 cout << "YES";elsecout << "NO";return 0;
}

OpenJudge NOI 1.7 17:字符串判等相关推荐

  1. OpenJudge NOI 1.8 17:最好的草

    [题目链接] OpenJudge NOI 1.8 17:最好的草 [题目考点] 1. 二维数组 2. 方向数组 表示上下左右的方向数组: int dir[4][2] = {{0,1},{0,-1},{ ...

  2. 信息学奥赛一本通 1848:【07NOIP提高组】字符串的展开 | OpenJudge NOI 1.7 35:字符串的展开 | 洛谷 P1098 [NOIP2007 提高组] 字符串的展开

    [题目链接] ybt 1848:[07NOIP提高组]字符串的展开 OpenJudge NOI 1.7 35:字符串的展开 洛谷 P1098 [NOIP2007 提高组] 字符串的展开 [题目考点] ...

  3. OpenJudge NOI 1.7 26:字符串最大跨距

    [题目链接] OpenJudge NOI 1.7 26:字符串最大跨距 [题目考点] 1. 字符串 2. string类 string s, s1; s.find(s1):查找s1在s中第一次出现的位 ...

  4. 信息学奥赛一本通 1145:字符串p型编码 | OpenJudge NOI 1.7 31:字符串p型编码

    [题目链接] ybt 1145:字符串p型编码 OpenJudge NOI 1.7 31:字符串p型编码 [题目考点] 1. 字符串处理 [解题思路] 遍历字符串,设置变量curNum表示当前关注的数 ...

  5. 信息学奥赛一本通 1071:菲波那契数 | OpenJudge NOI 1.5 17:菲波那契数列

    [题目链接] ybt 1071:菲波那契数 OpenJudge NOI 1.5 17:菲波那契数列 [题目考点] 1. 斐波那契数列 参考:多种方法求斐波那契数列 [解题思路] 迭代法求斐波那契数列 ...

  6. 信息学奥赛一本通 1055:判断闰年 | OpenJudge NOI 1.4 17

    [题目链接] ybt 1055:判断闰年 OpenJudge NOI 1.4 17:判断闰年 [题目考点] 1. 闰年定义 整百年份中,能被400整除的年份才是闰年 非整百年份中,能被4整除的年份是闰 ...

  7. 信息学奥赛一本通 1034:计算三角形面积 | OpenJudge NOI 1.3 17

    [题目链接] ybt 1034:计算三角形面积 OpenJudge NOI 1.3 17:计算三角形面积 [题目考点] 1. 已知三点求三角形面积公式 已知三点分别为(x1,y1),(x2,y2),( ...

  8. 【OpenJudge NOI】题解目录

    [OpenJudge NOI]题解目录 OJ链接:OpenJudge NOI 以下为本人做的OJ题解 针对每一道题我都会给出题目考点.解题思路.题解代码.必要时也会给出不同的解题方法. 如有不足之处, ...

  9. OpenJudge NOI 1.7 32:行程长度编码

    [题目链接] OpenJudge NOI 1.7 32:行程长度编码 [题目考点] 1. 字符串 [解题思路] 本题与OpenJudge NOI 1.7 31:字符串p型编码基本相同.可以参考上一题的 ...

最新文章

  1. “Uncaught TypeError: string is not a function”
  2. 运维企业专题(2)HTTP加速器——Varnish缓存机制后篇(后端服务器集群、负载均衡与CDN推送平台搭建)
  3. what to do to make a phone call at dorm?
  4. C++设计模式--状态模式(state)
  5. 456. 132 Pattern | 456. 132 模式(单调栈)
  6. glide缩略图存储 android,Glide 显示视频缩略图及遇到的坑
  7. MATLAB快速拟合二组数据
  8. javascript中 __proto__与prorotype的理解
  9. java数组r.id_Android HelloViews Spinner教程R.id和R.array无法解析
  10. Visio怎么删掉已有部分图形
  11. 汽车DTC故障码格式解析
  12. Transformer如何用于大规模图像识别?
  13. MySQL删除注册表的卸载方式
  14. Hanoi塔问题图文详解
  15. 2021信息安全工程师学习笔记(四)
  16. Go 语言如何自定义 linter(静态检查工具)
  17. smartgit官方下载地址
  18. 雨阳打字通 v1.0 发布
  19. polished css,CSS in JS
  20. bom更改编号 sap_SAP ERP系统如何通过LSMW批量更改BOM

热门文章

  1. CentOS 6.4 命令行 安装 VMware Tools
  2. 记:Ubuntu 14.04 安装32位库支持库失败
  3. Bruce Eckel最新演讲:调bug就是浪费生命!放弃吧!(附完整PPT)
  4. 重磅!阿里首次全面公开展示AI布局(附布局图/成绩单/六产业详解)
  5. 挖槽!堪称神级的Java技术手册火了???(文末送书活动)
  6. 在创业公司工作是一种什么样的体验?
  7. 又有程序员把产品经理给打了!
  8. 新人入职,上午写了一段代码,下午就被开除了
  9. JimuReport 1.3.7 首个正式版本发布,免费的可视化拖拽报表
  10. EasyUi之datagrid常见使用