20191026-ASCII计算

2018年初赛奥赛题(8分):

代码: 

  1. #include "stdafx.h"

  2. #include <cstdio>

  3. char st[100];

  4. int main()

  5. {   cin>>st;

  6.    for(int i=0;st[i];++i)

  7.   {

  8.     if('A'<=st[i] && st[i]<='Z')

  9.          st[i]+=1;}

  10.   printf("%s\n",st);

  11. }

 

输入: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;,可加也可不加{},因为它只有这一行语句,如果是多行语句(语句块),此处则一定要加{}.

posted @ 2020-05-21 10:56  财盛  阅读(406)  评论(0编辑  收藏  举报