零碎注意点

阅读 16

2024-03-29

  • 将大写字母转换成数字
​
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;  

精彩评论(0)

0 0 举报