有没有办法让这段代码更短,我刚刚开始学习 C++

Zah*_*ang 6 c++ arrays average

#include <iostream>
using namespace std;

int main()
{
    double mark1, mark2, mark3, mark4, mark5, mark6, mark7, mark8, mark9, mark10, average;
    cout << "Input mark for learner 1";
    cin >> mark1;
    cout << "Input mark for learner 2";
    cin >> mark2;
    cout << "Input mark for learner 3";
    cin >> mark3;
    cout << "Input mark for learner 4";
    cin >> mark4;
    cout << "Input mark for learner 5";
    cin >> mark5;
    cout << "Input mark for learner 6";
    cin >> mark6;
    cout << "Input mark for learner 7";
    cin >> mark7;
    cout << "Input mark for learner 8";
    cin >> mark8;
    cout << "Input mark for learner 9";
    cin >> mark9;
    cout << "Input mark for learner 10";
    cin >> mark10;

    average = (mark1 + mark2 + mark3 + mark4 + mark5 + mark6 + mark7 + mark8 + mark9 + mark10) / 10;
    cout << "The class average mark is:" << average << endl;
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Fel*_*lix 11

使用数组并循环其元素,您可以使用:

const int count = 10;
double mark[count];
double sum = 0;

for (int i = 0; i < count; i++)
{
    cout << "Input mark for learner " << (i+1) << ": ";
    cin >> mark[i];
    sum += mark[i];
}

double average = sum / count;

Run Code Online (Sandbox Code Playgroud)

如果您以后在任何地方都不需要单独的,您可以在循环内mark使用本地mark

const int count = 10;
double sum = 0;

for (int i = 0; i < count; i++)
{
    double mark;
    cout << "Input mark for learner " << (i+1) << ": ";
    cin >> mark;
    sum += mark;
}

double average = sum / count;

Run Code Online (Sandbox Code Playgroud)

  • 其他改进:`cout &lt;&lt; "Input mar for learner " &lt;&lt; (i+1) &lt;&lt; ": "`。注意:缺少“cout”。如果您已经使用流式传输,则不需要“to_string”。在打印末尾添加一些空白以获得更好的视觉效果。 (2认同)