当前位置: 首页 > 工具软件 > Sanrenxing > 使用案例 >

1088 三人行 (20 分)(附详细注释,逻辑分析)

宫晟
2023-12-01

写在前面

  • 逻辑题
  • 丙的类型分析存在错误
  • 输出值分析错误,输出甲的值,不是M的值
    • 除去以上2点,题目相对简单,5分钟a题
    • 细节问题,最耗时间
  • abs绝对值函数
  • print 函数类型错误(double型),导致测试点4错误

测试用例

input:
48 3 7
output:
48 Ping Cong Gai

input:
48 11 6
output:
No Solution

ac代码

  • 优化后
#include <iostream>
using namespace std;
void print(double jyb, int tm)
{
    if(jyb>tm) printf(" Cong");
    else if(jyb==tm) printf(" Ping");
    else printf(" Gai");
}
int main()
{
    double bing = 0.0;
    int yi=0, m=0, x=0, y=0;
    scanf("%d%d%d", &m,&x,&y);
    for(int i=99; i>=10; i--)
    {
        yi = (i%10)*10+i/10;
        bing = abs(i-yi)*1.0/x;
        if(bing*y==yi)
        {
            cout << i;
            print(i, m);
            print(yi, m);
            print(bing, m);
            return 0;
        }
    }
    printf("No Solution");
    return 0;
}

参考文章

 类似资料: