c++ - Masalah dengan objek aliran input cin membuang aksara yang tidak ditaip
仅有的幸福
仅有的幸福 2017-06-27 09:19:12
0
1
991

Soalan memerlukan menulis pernyataan gelung sementara Setiap gelung membaca dua int dan menolaknya ke dalam vektor Apabila '|' dimasukkan, masalahnya sekarang ialah soalan memerlukan input dua jenis aksara.

#include <iostream>

using namespace std;

int main() {

    int num_1, num_2;
    char stop;
    while (cin >> stop) {
        if (stop == '|') {
            break;
        } else {
            cin >> num_1 >> num_2;
            cout << num_1 << " " << num_2 << endl;
        }
    }

    return 0;
}

Program di atas adalah penyelesaian yang boleh saya fikirkan Pada masa ini, anda boleh menggunakan | untuk menamatkan gelung, tetapi terdapat masalah di sini Objek aliran input akan membuang nombor pertama yang dibaca (kerana 1 bukan jenis char )

input: 123 56
output: 23 56

Sila beritahu saya jika anda mempunyai sebarang penyelesaian lain, terima kasih~~~

仅有的幸福
仅有的幸福

membalas semua(1)
洪涛

Selesai, simpan sahaja dalam vektor dan tulis sendiri Masalahnya selesai untuk anda.

#include <iostream>
using namespace std;


int main(int argc, const char * argv[]) {
    int num_1, num_2;
    char stop;
    while (cin >> stop) {
        if (stop == '|') {
            break;
        } else {
            num_1 = stop-'0';
            cin >> num_2;
            cout << num_1 << " " << num_2 << endl;
        }
    }
    return 0;
}
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan