社区讨论

发现一件很诡异的事情

B2048计算邮资参与者 4已保存回复 9

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
9 条
当前快照
1 份
快照标识符
@mlj6qwpt
此快照首次捕获于
2026/02/12 16:17
上周
此快照最后确认于
2026/02/14 22:15
5 天前
查看原帖
第一次尝试
C
#include<bits/stdc++.h>
using namespace std;
int sum;
int main()
{
    int x;
    char b;
    scanf("%d%c",&x,&b);
    if(x<=1000) sum+=8;
    else 
    {
        if(x%500==0) sum+=8+(x-1000)/500*4;
        else sum+=8+((x-1000)/500+1)*4;
    }
    if(b=='y') sum+=5;
    printf("%d",sum);
    return 0;
}
这是原代码,样例没过,交上去也只有50分,但是把
C
if(b=='y')
改成
C
if(b='y')
样例就过了,我也不知道为啥。(交上去还是只有50分
第二次尝试
后来我脑抽把读入输出改成了C++形式的,也就是下面的代码:
CPP
#include<bits/stdc++.h>
using namespace std;
int sum;
int main()
{
    int x;
    char b;
    cin>>x>>b;
    if(x<=1000) sum+=8;
    else 
    {
        if(x%500==0) sum+=8+(x-1000)/500*4;
        else sum+=8+((x-1000)/500+1)*4;
    }
    if(b=='y') sum+=5;
    cout<<sum;
    return 0;
}
然后样例就过了!交上去也是100分!(是不是很诡异)有没有dalao能给我解释一下的!求!
其实本来用C语言读入输出是听说比C++的方式快,但是现在看来好像也没有什么区别。

回复

9 条回复,欢迎继续交流。

正在加载回复...