wzy20110830 @ 2024-02-20 21:08:31
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,k,sa1=0,sb1=0,sa2=0,sb2=0;
double aa,ab;
cin>>n>>k;
for(int i=1;i<=n;i++)
{
if(i%k==0)
{
sa1+=i;
sa2++;
}
else
{
sb1+=i;
sb2++;
}
}
aa=sa1/sa2;
ab=sb1/sb2;
cout<<fixed<<setprecision(1)<<aa<<' '
<<fixed<<setprecision(1)<<ab;
return 0;
}
by AC_love @ 2024-02-20 21:10:28
你的 sa1
,sa2
,sb1
,sb2
都是 int
,它们的运算结果也是 int
的,相当于把小数部分整丢了
by Elairin176 @ 2024-02-20 21:10:57
@wzy20110830
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,k,sa1=0,sb1=0,sa2=0,sb2=0;
double aa,ab;
cin>>n>>k;
for(int i=1;i<=n;i++)
{
if(i%k==0)
{
sa1+=i;
sa2++;
}
else
{
sb1+=i;
sb2++;
}
}
aa=sa1/(double)sa2;
ab=sb1/(double)sb2;
cout<<fixed<<setprecision(1)<<aa<<' '
<<fixed<<setprecision(1)<<ab;
return 0;
}
要有类型转换。
by AC_love @ 2024-02-20 21:11:41
aa=sa1/sa2;
就拿这行代码举例,假如 sa = 15, sa2 = 6,你的 aa 会是 2 而不是 2.5
by xingchen_wzt @ 2024-04-10 22:30:09
Hi!!!
我的思路
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,k,ag=0,bg=0;cin>>n>>k;
double ap=0,bp=0;
for(int i=1;i<=n;i++){
if(i%k==0){
ag++;
ap+=i;
}else{
bg++;
bp+=i;
}
}
cout<<fixed<<setprecision(1)<<ap/ag<<" "<<fixed<<setprecision(1)<<bp/bg;
}
萌新中的大佬就是我!!!