C++可以帮帮忙看下这个quit怎么加吗 在线等待

img

描述
 输入多个数,输出这些数的和
输入
 输入若干行,每行一个数,以quit做为结束
输出
 第一行输出输入个数,第二行输出这些数的和,并保留两位小数。
样例输入
 92
 88
 85
 89
 76
 quit
样例输出
 5
 430.00

img

代码如下:

#include <iostream>
#include <iomanip>
#include <stdlib.h>
#include <string>
using namespace std;

#define MAX 100
int main()
{
    string ex = "quit";
    double sum = 0;
    int i = 0;
    string sarray[MAX] = {}; //string数组
    for(i=0;i<MAX;i++){
        cin >> sarray[i];
        if((sarray[i]) != ex){
            /*
            const char *ptr = (sarray[i]).c_str(); //将string转换为const char *,在头文件#include <stdlib.h>中,C和C++都能用
            double a = atof(ptr); //将const char * 指向的字符串转换为double
            */
            double a = stold(sarray[i]); //将string转换为int,这一句可以和上面两行互换,这是C++ 11标准的库函数,老编译器可能不支持
                                        //在头文件#include <string>中,C++独有
            sum = sum + a;
        }
        else
            break;
    }
    cout << i << endl;
    cout << setiosflags(ios::fixed) << setprecision(2) << sum << endl;
    return 0;
}

采用字符数组保存数据,然后再转换成整数