- 将大写字母转换成数字
a[i]=s[i]-'@';
a[i]=s[i]-'A'+1
- 将变量s1减'a'变成数组下标,数组的值s2是一个数字(>='0' <='9')。如果是数字就等于它本身,如果不是就等于它的变量。
a[s1-'a']=s2>='0'&&s2<='9'?s2-'0':a[s2-'a'];
- 多个相同操作的输出 边输出边循环
while(scanf("%c:=%c;",&s1,&s2)==2)
- 最大公约数的函数可以直接运用
cout<<a[0]/__gcd(a[0],a[2])<<'/'<<a[2]/__gcd(a[0],a[2]);
//因为要约分 所以用gcd(a[0],a[2])取a[0]与a[2]的最大公约数
// a[0]/最大公约数的值与a[2]/最大公约数的比值即是约分后的结果
//输出答案为 3/5
数据范围问题
例如:数据保证:a,b,c为正整数且属于[1,10^9],如果题目给出的数据范围很大,就要long long
long long a,b,c;