承標題言,這題本來是給大家練習getline + StringStream的,但小弟一看到題目有固定的輸入格式..
雖然中間問題卡了10次,但還是通過了...
以下:
#include <iostream>
using namespace std;
int main() {
int inputSuccess;
do{
int n = -1; double f;
char distin;
double sumOdd = 0.0, sumEven = 0.0;
do{
inputSuccess = scanf("%d:%lf", &n, &f);
=========================================
中間略
=========================================
distin = getchar(); //以換行到下一次換行為一次執行循環,放在scanf後以判斷是不是換行(結束該次循環資料輸入)
}while(distin != '\n');
if(n != -1)printf("%g\n", sumOdd - sumEven);
}while(inputSuccess != EOF); //用來判斷是不是到結尾
return 0;
}
翻討論區發現有好幾位大大都有"不使用getline抓資料"的想法,以上謹提供小弟想到的辦法。