阅读程序 · 答案 = · 考点:输入输出、位运算、分支结构、循环结构、字符串(string)
← 整套速查表 NOIP 普及组初赛 全部真题阅读程序写结果:
#include <iostream>
using namespace std;
int main()
{
int i, length1, length2;
string s1, s2;
s1 = "I have a dream.";
s2 = "I Have A Dream.";
length1 = s1.size();
length2 = s2.size();
for (i = 0; i < length1; i++)
if (s1[i] >= 'a' && s1[i] <= 'z')
s1[i] -= 'a' - 'A';
for (i = 0; i < length2; i++)
if (s2[i] >= 'a' && s2[i] <= 'z')
s2[i] -= 'a' - 'A';
if (s1 == s2)
cout << "=" << endl;
else if (s1 > s2)
cout << ">" << endl;
else
cout << "<" << endl;
return 0;
}输出:_________
看到 s1[i]-='a'-'A' → 小写转大写
易错:以为 s2 没变;误算 ASCII 差值;忽略空格与句点。
考点:字符串大小写转换|ASCII 码运算
程序初始化两个字符串 s1 和 s2,分别遍历并尝试将其中所有小写字母转换为大写,最后比较两者输出结果。