听取Wa声一片 求助!!!!!

P5719 【深基4.例3】分类平均

yaokaibo @ 2024-10-16 20:14:54

#include<bits/stdc++.h>
using namespace std;
int main()
{
    double c=0,d=0;
    int a=0,b=0,x=0,y=0;
    scanf("%d%d",&a,&b);
    for(int i=1;i<=a;i++)
    {
        if(i%b==0)
        {
            c+=i;
            x++;
        }
        else
        {
            d+=i;
            y++;
        }
    }
    c=c/x*1.0;
    d=d/y*1.0;
    printf("%.1llf %.1llf\n",c,d);
}

为什么样例和测试点1都能过还是爆零


by HJYH012 @ 2024-10-16 20:22:14

printf("%.1f %.1f\n",c,d);

不要用 %llf


by lkwbian @ 2024-10-16 20:23:45

把x和y也定义成double试一下


by HJYH012 @ 2024-10-16 20:24:26

自证AC


by lkwbian @ 2024-10-16 20:24:31

而且 %.1llf 是什么东西


by TEPRUNNING @ 2024-10-16 20:31:55

对于printf函数来说

llf 对应 long double 类型

lf 对应 double 类型

f 对应 float 类型

对于不同的数据类型,printf()函数读取方式不同 所以应选择类型对应的标志

(或者对你的c,d变量进行强制类型转换,让CPU为它们分配两个可以容纳long double 类型的寄存器)


by yaokaibo @ 2024-10-16 20:36:17

已过,谢谢各位大佬除TEPRUNNING


by CGZ__tqxd @ 2024-10-19 10:36:16

@yaokaibo lezitaotao(yaoyao),不接受反驳。


|