我正在读这本书(自学),如果你能帮助我做一些“尝试这个”练习,我真的很感激。
这是我写的代码:
#include "../../../std_lib_facilities.h"
int main()
{
for (char i ='a'; i <='z'; ++i) {
int x = i;
cout << i << '\t' << x << '\n';
}
keep_window_open();
return 0;
}
根据这本书,下一步是:“[...]然后修改你的程序,同时写出一个大写字母和数字的整数值表” 有没有这样做的功能,或者我只需要从A开始重复循环? 感谢
答案 0 :(得分:3)
是的,重复从'A'到'Z'和'0'到'9'的循环。
假设你的书已经涵盖了函数(它可能没有),你可以将你的for循环重构为它自己的函数,也许叫做displayCharactersInTable,它将第一个字符和最后一个字符作为参数。那些将取代循环中'a'和'z'的使用。因此,您的主要功能如下:
...
displayCharactersInTable('a', 'z');
displayCharactersInTable('A', 'Z');
displayCharactersInTable('0', '9');
...
答案 1 :(得分:0)
const char lc_alphabet[] = "abcdefghijklmnopqrstuvwxyz";
const char uc_alphabet[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int main() {
for (const char *cur = lc_alphabet; cur < lc_alphabet + sizeof(lc_alphabet); ++cur)
std::cout << *cur << \t << (int)*cur << '\n';
for (const char *cur = uc_alphabet; cur < uc_alphabet + sizeof(uc_alphabet); ++cur)
std::cout << *cur << \t << (int)*cur << '\n';
return 0;
}
此代码不假定字符表示是连续的(甚至按字母顺序增加),因此它适用于所有字符编码。
答案 2 :(得分:0)
int b = 97; // the corresponding decimal ascii code for 'a'
int a = 65; // the corresponding decimal ascii code for 'A'
for(int i = 0; i < 26; ++i)
cout << char('A' + i) << '\t' << a << '\t' << char('a' + i) << '\t' << b << '\n'; //print out 'A' and add i, print out a, print out 'a' and add i, print out b
++a; //increment a by 1
++b; //increment b by 1