簡體   English   中英

如何多次重復同一輸入的循環

[英]How to repeat loop for same input multiple times

我想接受相同的輸入,但我想將第二次跑步的總得分分配給ag2,這是我的代碼

int c1=0, c2=0, c3=0, c4=0, c5=0, c6=0;
    for (int id = 1; id <= 5; id = id + 1){

        cout << "Enter student id and marks of student courses";
            cin >> id >> c1 >> c2 >> c3 >> c4 >> c5;
            int ag1 = 0,ag2=0,ag3=0,ag4=0,ag5=0;
            ag1 = c1 + c2 + c3 + c4 + c5;

誰能指導我? 基本上,程序是要讓5名學生學習5門課程,然后計算出agg得分並告訴誰獲得了更高的分數。

我不會為您編寫代碼,但是我可以給您一些提示。

如果要對變量執行cin > ,則無需在之前將其初始化為0。 您可以將它們聲明為int c1, c2,..

在for循環中,我們通常從0而不是1開始計數。這是因為當我們遍歷數組結構時,它們從0開始,因此我們從“ id”到<極限。 如果從頭開始,則必須以“ id-1”開始,以遍歷數組。

這個id = id + 1我們通常鍵入id++ 它更短,更直觀。

現在解決您的問題。 如果要對ag1 ... ag5執行相同的操作,則需要將“ ag”變量放入數組中。 您可以通過多種方式執行此操作。 一種是:

int ags[5];

現在您可以執行ags[0]=15; 從那里開始,在數組“ ags”中的位置0,有一個“ 15”。 為了得到這個“ 15”,你做int oneAg = ags[0]; 在“ oneAg”中有15個

如果在此示例中,將0替換為for循環索引變量,在您的情況下為“ id”(使其從0開始),則可以有效地保存5個ag。 但是請注意,您不能在循環內執行cin >> id ,否則將破壞循環。 對您讀取的ID使用其他變量。

玩得開心。 我們所有人,甚至是那些懂很多的人,都像現在一樣開始!

當您必須在沒有數組的情況下執行此操作時,您必須閱讀每個循環的一個學生標記並記住最佳

像這樣(偽代碼):

int best_student = 0;
int best_marksum = 0;
for (int i = 0; i< 5 ; ++i)
{
    // read students id
    int marksum = 0;
    for (int j = 0; j < 5 ; ++i)
    {
        // read student mark
       marksum += mark;
    }
    if (marksum > best_marksum)
    {
        best_student = student_id;
        best_marksum = marksum;
    }

}
// finally print the result

那應該是您自己需要的東西

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM