每天打卡一小时 第十六天 编译四部曲
第一部曲 自然语言
读入一个整数n,接下来输入n对字符串a和b。将a和b转换为整数na和nb。对于na和nb,分别计算它们的各位数字之和,记为sa和sb,然后比较na%sb是否等于0以及nb%sa是否等于0,若其结果相同,则输出较大的那个数所对应的字母A或B,否则输出能满足条件的那个数所对应的字母A或B。
第二部曲 流程图
第三部曲 代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n;cin>>n;
while(n--)
{
string a,b;cin>>a>>b;
int na=stoi(a),nb=stoi(b);
int sa=0,sb=0;
for(auto c:a) sa+=c-'0';
for(auto c:b) sb+=c-'0';
bool ok1=0,ok2=0;
if(na%sb==0) ok1=1;
if(nb%sa==0) ok2=1;
if(ok1==ok2)
{
if(na>nb) cout<<"A\n";
else cout<<"B\n";
}
else
{
if(ok1) cout<<"A\n";
else cout<<"B\n";
}
}
return 0;
}
第四部曲 总结
学习更多的自带函数,简化