原作者是 @

#include <iostream>
#include <ctime>
#include <cstdlib>
#include <windows.h>
using namespace std;

string map[55][10] = 
{
	{"北京市", "京", "北京"},
	{"天津市", "津", "天津"},
	{"河北省", "冀", "石家庄"},
	{"山西省", "晋", "太原"},
	{"内蒙古自治区", "内蒙古", "呼和浩特"},
	{"辽宁省", "辽", "沈阳"},
	{"吉林省", "吉", "长春"},
	{"黑龙江省", "黑", "哈尔滨"},
	{"上海市", "沪", "上海"},
	{"江苏省", "苏", "南京"},
	{"浙江省", "浙", "杭州"},
	{"安徽省", "皖", "合肥"},
	{"福建省", "闽", "福州"},
	{"江西省", "赣", "南昌"},
	{"山东省", "鲁", "济南"},
	{"河南省", "豫", "郑州"},
	{"湖北省", "鄂", "武汉"},
	{"湖南省", "湘", "长沙"},
	{"广东省", "粤", "广州"},
	{"广西壮族自治区", "桂", "南宁"},
	{"海南省", "琼", "海口"},
	{"重庆市", "渝", "重庆"},
	{"四川省", "川", "成都"},
	{"贵州省", "贵", "贵阳"},
	{"云南省", "云", "昆明"},
	{"西藏自治区", "藏", "拉萨"},
	{"陕西省", "陕", "西安"},
	{"甘肃省", "甘", "兰州"},
	{"青海省", "青", "西宁"},
	{"宁夏回族自治区", "宁", "银川"},
	{"新疆维吾尔自治区", "新", "乌鲁木齐"},
	{"香港特别行政区", "港", "香港"},
	{"澳门特别行政区", "澳", "澳门"},
	{"台湾省", "台", "台北"},
	{"莫晗","豆","体育大亡"}
};

void sout(string str, int tim)
{
	for (char ch : str)
	{
		cout << ch;
		Sleep(tim);
	}
}

int main()
{
	srand(time(0));
	
	sout("这是练习中国省级行政区名称、简称、省会的程序\n\0", 25);
	Sleep(500);
	
	int gmtim = 0, wntim = 0;
	sout("输入要练习多少次\n", 25);
	cin >> gmtim;
	
	for (int ti = 1; ti <= gmtim; ++ti)
	{
		system("cls");
		int i = rand() % 35, j = rand() % 2 + 1;
		
		sout("请回答 " + map[i][0] + " 的", 25);
		if (j == 1)sout("简称\n", 25);
		else sout("省会\n", 25);
		
		string inpt;
		cin >> inpt;
		if (inpt == map[i][j])
		{
			sout("回答正确!\n", 25);
			cout<<"你比莫晗强"; 
			++wntim;
		}
		else
		{
			sout("回答错误!\n", 25);
			sout("正确答案是: " + map[i][j] + "\n", 25);
			Sleep(1000);
		}
		Sleep(1000);
	}
	system("cls");
	sout("正确率: " + to_string(wntim * 100 / gmtim) + " %", 25);
	return 0;
}