用 C++ 实现同或
输入包括两行,每行包括N个数字(1≤N≤50),分别表示两个人对于N个事情对应的看法——0表示不赞同、1表示赞同。输出包括一行,包括N个数字,表示两人相遇后,对于这N件事情的最终看法。(相同为1,不同为0)
列如:
输入:001100
110100
输出:000111
其中,N未知,只能通过所输入的数字判断。我的想法是用vector二维数组,然后利用回车作为第一个和第二个数组的分隔符,但得不到相应的结果,麻烦大家帮忙看看,十分感谢!
(作为新手,很多地方不够规范,也请大家多多指教)
程序代码:
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int var; int num=50; vector< vector<int> > ivec(2); for(int i=0;i<2;++i) { ivec[i].reserve(num); } for(int ix=0;ix<2;++ix) { while(cin>>var) { if(var!='\n') { ivec[ix].push_back(var); } else break; } } for(int indx=0;indx<num;++indx) { if(ivec[0][indx]!=ivec[1][indx]) { cout<<0; } else { cout<<1; } } cout<<endl; return 0; }