帮忙回答一下这几个问题,谢谢了。
请大家帮我看看这3题。谢谢
第一题:
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <limits>
using namespace std;
int main()
{
vector<int> a,b;
int c;
cout<<"请输入数字"<<endl;
while(cin>>c){
a.push_back(c);}
cin.clear();
cin.ignore( numeric_limits<streamsize>::max(), '\n' );
cout<<"请输入数字"<<endl;
while(cin>>c){
b.push_back(c);}
cin.clear();
cin.ignore( numeric_limits<streamsize>::max(), '\n' );
if(a.size()==b.size())
if(a.size()==0)
cout<<"相等"<<endl;
else {
vector<int>::iterator a1=a.begin();
vector<int>::iterator b1=b.begin();
while(*a1==*b1&&a1!=a.end()&&b1!=b.end()){
++*a1;
++*b1;}
if(a1==a.end())
{cout<<"相等"<<endl;}
}
else
cout<<"不相等"<<endl;
return 0;}
第二题:编译的时候虽然成功,但是输入6个数字后会弹出一个窗口。不知所云。
#include "stdafx.h"
#include <iostream>
#include <vector>
using namespace std;
int main()
{
//定义变量
vector<int> b;
int a[6];
int i,c;
//输入一个vector对象;
cout<<"输入6个数字"<<endl;
for(vector<int>::size_type ix=0;ix!=6;ix++){
cin>>c;
a[ix]=c;}
//把这个vector对象的值传给一个数组;
for(int i=0;i!=6;i++)
{b[i]=a[i];
//输出这个数组
cout<<b[i]<<endl;
}
return 0;
}
第三题:不知道哪里错了。
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <cstring>
using namespace std;
int main(){
//定义变量
char a[8]="I love ";
char b[4]={'Y','o','u','\0'};
char *p1=a;
char *p2=b;
//把两个c风格字符串连在一起;
int len=strlen(p1)+strlen(p2)+1;
char *p3=new char[len];
strcpy(p3,p1);
strcat(p3,p2);
//输出合并后的那个C风格字符串;
for(char *q=p3;q!=p3+len;q++){
cout<<*q<<endl;}
string s1="I love ";
string s2="You";
string s3=s1+s2;
cout<<s3<<endl;
return 0;
}