写出来一段程序,不过看着有点太长了,怎么优化一下?
include <iostream>
using namespace std;
/**
* 一位同学的各科分数记录在数组中,其总分的计算规则是:去掉一个最低分,余下各
科分数之和即为总分
* 请优化下面的程序,让代码更简短执行效率更高!
*/
int main()
{
double values[] = {8, 7, 8.5, 9.5, 7, 4, 10};
int sizeOfValues = 6;
//找到最低分
double smallest = values[0];
for (int i = 1; i < sizeOfValues; i++)
{
if (values[i] < smallest)
{
smallest = values[i];
}
}
//找到最低分在数组中的位置
int smallestPosition = 0;
for (int i = 1; i < sizeOfValues; i++)
{
if (values[i] == smallest)
{
smallestPosition = i;
}
}
//删除最低分
for (int i = smallestPosition; i < sizeOfValues - 1; i++)
{
values[i] = values[i + 1];
}
sizeOfValues--;
//计算总分
double total = 0;
for (int i = 0; i < sizeOfValues; i++)
{
total += values[i];
} cout << total;
return 0;
}