测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A18343. 字符转换

填空题 中等

题目描述

字符转换

题目描述

小杨同学有一串字符,里面可能有:

大写字母,比如 A 、B 、C

小写字母,比如 a、b、c

数字,比如 0、1、2

现在小杨同学想把这串字符变一变,规则如下:

1.如果是大写字母,就变成对应的小写字母;

2.如果是小写字母,就变成对应的大写字母;

3.如果是数字,就变成 * 。

请你按照这个规则,帮小杨把整串字符转换好。

输入格式

输入一共有两行。

第一行:一个整数,表示这串字符一共有多少个字符。

第二行:一串连续的字符,中间没有空格。

输出格式

输出转换后的字符,输出时字符之间不要加空格。

样例输入

5
aBc98

样例输出

AbC**

样例解释

原字符 :aBc98

从左到右一个一个看:

  • a 小写→A 大写
  • B 大写→b 小写
  • c 小写→C 大写
  • 9 数字→*
  • 8 数字→*

最终结果:AbC**

参考答案

#include <iostream> using namespace std; char s[1010]; int main() { int n; cin >> n; cin >> s; for (int i = 0; i < n; ++i) { char c = s[i]; if ('a' <= c && c <= 'z') cout << (char)(c - ('a' - 'A')); else if ('A' <= c && c <= 'Z') cout << (char)(c + ('a' - 'A')); else cout << '*'; } cout << endl; return 0; }
上一题 下一题