我試圖採取一些輸入,並找到一個字符串中的某個字符的數量。當我嘗試接收實際的字符串時,我不斷得到一個奇怪的答案。這是爲什麼發生? 我正在使用cout來找到爲什麼我得到這樣奇怪的數字,它似乎是與輸入問題。爲什麼輸入後會得到隨機數字?
注 - 這是我對Codeforces問題462 B的嘗試解決方案。我試圖找到輸入中某個字母的編號。我的朋友正在嘗試一種氣泡排序方法。
輸入:
6 4
YJSNPI
預期輸出:
YJSNPI
4
實際輸出:
YJSNPI
1699623981
代碼:
#include <iostream>
#include <string>
#include <vector>
#include <istream>
using namespace std;
int main()
{
int n, k, counting;
cin >> n >>k;
char trash;
cin.get(trash);
vector<string> cards;
string theline, name;
cin >> theline;
cout << theline << "\n";
for (int i = 0; i < n; i++){
name = theline[i];
cards.push_back(name);
}
for (int i = 0; i < n; i++){
if (cards[i] == cards[k-1]){
counting++;
}
}
int tmp = 0;
if (cards.size() != k){
tmp = k - counting;
}
counting *= k;
counting += tmp;
cout << counting;
return 0;
}
也許你的編譯器可以提供幫助。 http://coliru.stacked-crooked.com/a/aa76f26a2889c724 – chris 2014-08-29 00:06:33