c++中添加一个while语句使得数据可以多次输入

下面这个代码如果我想在其中插入一个while语句,使得数据可以循环多次输入,这个while语句应该加在哪?


#include
#include
using namespace std;

int main() {
    int a=0 ;
    int i = 0;
    double sum = 0;
    
        for (i = 0; i < 9999; i++) {
            cin >>a;

            if (a == 9999)
                break;
            else
                sum = sum + a;
        }

        double con = sum / i;
        printf("%.2f", con);
    
    
    system("pause");
    return 0;
}

你可以将整个代码块放在while循环内,并在循环开始前重置 sum 和 i 的值。这样,当用户输入 9999 时,会退出当前循环并回到循环开头,直到满足某些条件结束循环。以下是示例代码:

#include<iostream>
#include<stdio.h>
using namespace std;
 
int main() {
    int a = 0;
    int i = 0;
    double sum = 0;
    while (true) {
        sum = 0;
        i = 0;
        while (i < 9999) {
            cin >>a;
            if (a == 9999) {
                break;
            }
            sum = sum + a;
            i++;
        }
        if (i == 0) {
            break;
        }
        double con = sum / i;
        printf("%.2f\n", con);
    }
    system("pause");
    return 0;
}

在这个例子中,当用户输入 9999 时,内部循环会结束并计算平均值。如果用户想继续输入数据,则会重新进入内部循环,否则整个程序会结束。

该回答引用ChatGPT

您可以将数据输入部分的代码放入一个while循环中,使其可以多次输入数据。修改后的代码如下:


#include<iostream>
#include<stdio.h>
using namespace std;
 
int main() {
    int a = 0;
    int i = 0;
    double sum = 0;
    
    while (true) {
        cin >> a;
        if (a == 9999) {
            break;
        }
        else {
            sum += a;
            i++;
        }
    }

    double con = sum / i;
    printf("%.2f", con);
    
    system("pause");
    return 0;
}

在这个代码中,while循环会一直运行直到输入了值为9999的数据。每次输入一个数据,就会将其加到sum中,并将i加1。当输入的数据为9999时,循环结束,计算平均值并输出。