20191026-ASCII计算
2018年初赛奥赛题(8分):
代码:
-
#include "stdafx.h"
-
#include <cstdio>
-
char st[100];
-
int main()
-
{ cin>>st;
-
for(int i=0;st[i];++i)
-
{
-
if('A'<=st[i] && st[i]<='Z')
-
st[i]+=1;}
-
printf("%s\n",st);
-
}
输入:QuanGuoLianSai
求输出内容 RuanHuoMianTai
解题思路:
这是一道初赛的ASCII码计算题,头文件#include <cstdio>调用了C++语言的标准输入输出,然后定义了一个CHAR类型数组st,数组元素有100个(可以只用几个,不见得100个全用),进入main主程序,并输入st的值( QuanGuoLianSai ),然后进入for循环,来判断QuanGuoLianSai中每个元素的ASCII码是否介于A-Z(65-90)之间,如果是,st[i]+1,也就是它对应的字母往后顺延一个,如Q就变成了R,但小写字母由于其ASCII码均大于90(97-122)不受影响,均不变,最终结果就是 RuanHuoMianTai。
对于初学者,请注意if语句后面的 st[i]+=1;,可加也可不加{},因为它只有这一行语句,如果是多行语句(语句块),此处则一定要加{}.