c++一本通1052

c++一本通1052测试点一过不去,麻烦帮忙看一下

#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
    long double a;
    char b;
    cin>>a>>b;
    if(a<=1000)
    {
        if(b!='y')
        {
            cout<<8;
                
        }
        else
        {
            cout<<8+4;
            
        }
    }
    
    if(a>1000)
    {
        long double c=(a-1000)/500;
        long double d=ceil(c);
        if(b!='y')
        {
            cout<<8+d*4;
                
        }
        else
        {
            cout<<8+d*4+5;
                
        }
    }
    
        
    return 0;

}

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇文章:C++【信息学奥赛一本通】题解1002 也许能够解决你的问题,你可以看下
  • 除此之外, 这篇博客: C++一本通题库1002中的 【题目描述】 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    输入三个整数,整数之间由一个空格分隔,整数是32位有符号整数。把第二个输入的整数输出。

  • 以下回答来自chatgpt:

    在回答这个问题之前,我需要更多的信息。你能告诉我你在尝试做c++一本通1052这道题的时候遇到了什么具体的问题吗?你能提供更多的细节和相关的代码吗?这样我才能更好地帮助你解决问题。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

你把题目贴出来,并不是你这个一本通是人手一册的。