描述
输入多个数,输出这些数的和
输入
输入若干行,每行一个数,以quit做为结束
输出
第一行输出输入个数,第二行输出这些数的和,并保留两位小数。
样例输入
92
88
85
89
76
quit
样例输出
5
430.00
代码如下:
#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;
}
采用字符数组保存数据,然后再转换成整数