程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> c++ push_back-c++中用push_back輸入一組數字卻無法繼續運行程序

c++ push_back-c++中用push_back輸入一組數字卻無法繼續運行程序

編輯:編程解疑
c++中用push_back輸入一組數字卻無法繼續運行程序

題目是輸入一組數,然後輸出相鄰兩個數的和。我用迭代器做出,代碼如下,但是輸入
一組數後敲即回車,程序沒有反應,即沒有出現相鄰兩項的和,為什麼?請指教!
#include
#include

using namespace std;

int main()
{
vector vInt;
int iVal;
cout << "請輸入一組數字:" << endl;
while (cin >> iVal)
{
vInt.push_back(iVal);
}
if (vInt.cbegin() == vInt.cend())
{
cout << "沒有任何元素" << endl;
return -1;
}
cout << "相鄰兩項的和依次為:" << endl;
for (auto it = vInt.cbegin();it != vInt.cend()-1;it++)
{
cout << (*it + *(++it)) << " ";
if ((it - vInt.cbegin() + 1) % 10 == 0)
cout << endl;

}
if (vInt.size() % 2 != 0)
    cout << *(vInt.cend() - 1);
return 0;

}
附圖圖片說明

最佳回答:


可以試試修改為:

cin >> iVal;
 while (iVal)    // 輸入零結束 while
{
    vInt.push_back(iVal);
    cin >> iVal;
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved