Rocca @ 2023-11-23 23:02:46
#include<stdio.h>
int main()
{
int n;
int k;
scanf("%d %d",&n,&k);
float sum1=0;
float sum2=0;
int cnt1=0;
int cnt2=0;
for(int i=1;i<=n;i++)
{
if(i%k==0)
{
sum1=sum1+i;
cnt1++;
}
else
{
sum2=sum2+i;
cnt2++;
}
}
printf("%.1f %.1f",sum1/cnt1,sum2/cnt2);
return 0;
}
by Rocca @ 2023-11-23 23:04:02
请问为什么用float就只能打40,改成double就满分
by happy_guest @ 2023-11-23 23:05:35
精度?
by Hatsunatsu @ 2023-11-23 23:56:25
@Rocca double 的精度是高于 float 的,这也是一般我们更多会使用 double 而非 float 的原因。
by Rocca @ 2023-11-26 22:27:23
@Hatsunatsu 好的,谢谢!
by Rocca @ 2023-11-26 22:27:56
@dengyongjia133 蟹蟹!
by littlecui @ 2023-12-08 08:30:11
@Rocca 请问为什么要double sum1啊?他不应该一定是整数吗? 但是我用int确实是小数点后面不对
by Rocca @ 2023-12-13 22:14:39
@littlecui 你用int的话,最后的除法那儿就是两个整数相除,会舍去小数部分的
by littlecui @ 2023-12-17 19:37:36
@Rocca 哦哦哦哦哦!明白了,谢谢大佬qwq