ASCII

char

计算机中字符和数字是一一对应的,对应表是ASCII表
常见的一些ASCII值 '0' 是 48, 'A' 是 65, 'a' 是 97。

#include <bits/stdc++.h>
using namespace std;
char c;
int main()
{
    cin >> c; // 读入一个非空字符,输入小写字母a
    cout << c << endl; // 输出字符c
    cout << c + 1 << endl; // 输出 字符c对应的数字+1,结果是数字
    cout << (char)(c + 1) << endl; // 输出 (字符c对应的数字+1)对应的字符,结果是字符
    cout << c - 'A' + 1 << endl; // 输出c是第几个字母
    return 0;
}

读入

getchar()
scanf
cin

输出

putchar()
printf
cout

getchar / putchar 参数和返回值都是 int 类型

练习题

abc013_1 A

https://atcoder.jp/contests/abc013/tasks/abc013_1
输入一个大写字母,输出这几个大写字母。A1Z26

ASCII

参考代码

#include <bits/stdc++.h>
using namespace std;
char c;
int main()
{
	cin >> c;
	cout << c - 64 << endl;
	return 0;
}

题解

abc049_a UOIAUAI

https://atcoder.jp/contests/abc049/tasks/abc049_a
输入一个小写字母,问是不是元音

参考代码

题解

abc151_a Next Alphabet

https://atcoder.jp/contests/abc151/tasks/abc151_a
输入一个小写字母,输出下一个字母,不会输入z
输入一个不是z的字母,输出下一个字母是什么。

ASCII码

参考代码

#include <bits/stdc++.h>
using namespace std;
char c;
int main()
{
	cin >> c;
	cout << char(c + 1) << endl;
	return 0;
}

题解

abc171_a αlphabet

https://atcoder.jp/contests/abc171/tasks/abc171_a
输入一个字母,如果是大写,输出A,如果是小写,输出a

参考代码

char c;
cin >> c;
if ('A' <= c && c <= 'Z')
{
	// daxie 
}
else
{
	// xiaoxie
}

isupper(c)
islower(c)

题解

abc257_a A to Z String 2

https://atcoder.jp/contests/abc257/tasks/abc257_a
输入n和x
n个A,n个B…… n个Z
问第x个字符是什么?

参考代码

Error: ENOENT: no such file or directory, open '/Users/wwwwodddd/Dropbox/Github/Informatics/solutions/abc257_a_s.md'
  1. ASCII
    1. char
    2. 读入
    3. 输出
    4. getchar / putchar 参数和返回值都是 int 类型
    5. 练习题
      1. abc013_1 A
      2. abc049_a UOIAUAI
      3. abc151_a Next Alphabet
      4. abc171_a αlphabet
      5. abc257_a A to Z String 2