2017-08-20 43 views
-3
#include <iostream> 
#include <math.h> 
#include <string> 
#include <sstream> 
using namespace std; 

int main() { 
    string input; 
    int value, 
    cout << "Input your number: " << endl; 
    cin >> input; 
    const int count = input.length(); 
    istringstream buffer(input); 
    buffer >> value; 
    if (count == 4) { 

我的程序假設計算的數字的長度,如果它是4,然後編碼數字。例如。 1234轉到其他一些數字。我的問題是如何獲取每個個人數字並使用它們。例如。取(1 + 1)/ 10或(3 + 2)/ 10。如何找到一個數字的位置並使用它

回答

0

可以使用括號表示法在字符串中獲取字符,例如input[0]以獲取字符串中的第一個字符。

0

我這個做另一種方式(來處理輸入像000112ab正確):

  • 讀取輸入到int
  • std::to_string(C++ 11)
  • 支票轉換爲std::string字符串的大小

而你有一個std::string其中你可以訪問數字,如str[0] - '0'(你會得到一個整數範圍[0; 9])。


另一種選擇是簡單地讀入一個字符串,然後檢查是否std::all_of字符std::isdigit成立。

相關問題