溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

利用c++怎么輸入未知個(gè)數(shù)的數(shù)字

發(fā)布時(shí)間:2020-12-10 15:56:27 來源:億速云 閱讀:417 作者:Leah 欄目:開發(fā)技術(shù)

利用c++怎么輸入未知個(gè)數(shù)的數(shù)字?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

實(shí)現(xiàn)方法如下

vector<int> v;
int num;
while (cin >> num)
{
v.push_back(num);
if (num == 0)
 break;
}

方式一:

以空格或者回車結(jié)束每次輸入,以固定輸入數(shù)字0結(jié)束輸入(也可以更改為其他字符)

string test;
 getline(cin, test);
 int input_nums = 0;
 vector<int> indexes;
 indexes.push_back(0);
 for (int i = 0; i < test.size(); i++)
 {
 if (test[i] == ' ')
 {
 input_nums++;
 indexes.push_back(i);
 }
 } 
 int *p = new int[input_nums+1];
 for (int i = 0; i <= input_nums; i++)
 {
 int start = indexes[i];
 int length = (i!=input_nums&#63;indexes[i + 1] - indexes[i]:test.length()-        indexes[i]);
 
 p[i] = atoi(test.substr(start, length).c_str());
 }

方式二:

以空格結(jié)束每次輸入,將輸入當(dāng)成字符串來處理,以空格分隔字符并轉(zhuǎn)換成int。相對(duì)復(fù)雜一點(diǎn)。。。

補(bǔ)充知識(shí):c++連續(xù)輸入未知整數(shù)解決方法

最近幫師兄做筆試題,對(duì)于連續(xù)輸入未知數(shù)目整數(shù)的時(shí)候,以前我一直用While(cin>>temp),但是這樣做的話需要輸入完之后在加上ctrl+z,才能結(jié)束輸入,但是在做筆試的時(shí)候測(cè)試數(shù)據(jù)不可能這樣做,導(dǎo)致會(huì)出現(xiàn)問題,后來終于找到一個(gè)方法解決這個(gè)問題,現(xiàn)在寫下來防止以后遇到這個(gè)問題,也希望能幫助大家。

#include<iostream>
#include<vector>
using namespace std;
int main()
{
 vector<int> Input;
 int temp;
 while (cin>>temp)
 {
 Input.push_back(temp);
 if (getchar() == '\n')
 {
 break;
 }
 }
 system("pause");
 return 0;
}

關(guān)于利用c++怎么輸入未知個(gè)數(shù)的數(shù)字問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI