这是100分的代码
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int n, k;
cin >> n >> k;
double sumA = 0, sumB = 0, numA = 0, numB = 0;
for (int i = 1; i <= n; i++)
{
if (i % k == 0)
{
sumA += i;
numA++;
}
else
{
sumB += i;
numB++;
}
}
double aveA, aveB;
aveA = sumA / numA;
aveB = sumB / numB;
cout <<fixed<< setprecision(1) << aveA << " " <<fixed<< setprecision(1) << aveB;
return 0;
}
这是40分的代码
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
int n, k;
cin >> n >> k;
float sumA = 0, sumB = 0, numA = 0, numB = 0;//按道理用float和double区别应该不大的,但不知道为什么只有40分
for (int i = 1; i <= n; i++)
{
if (i % k == 0)
{
sumA += i;
numA++;
}
else
{
sumB += i;
numB++;
}
}
float aveA, aveB;//还有这里
aveA = sumA / numA;
aveB = sumB / numB;
cout <<fixed<< setprecision(1) << aveA << " " <<fixed<< setprecision(1) << aveB;
return 0;
}