这段程序输入CTRL+Z之后就直接结束了……不知道为什么。 环境是visual studio 2010。
程序是课后答案的例题,肯定是没问题的。intmain(){vector<int>ivec;intival;cout<<"Enternumbers(CTRL+Ztoend)...
程序是课后答案的例题,肯定是没问题的。
int main()
{
vector<int> ivec;
int ival;
cout<<"Enter numbers(CTRL+Z to end):"<<endl;
while(cin>>ival)
ivec.push_back(ival);
if(ivec.size()==0)
cout<<"NO element?!"<<endl;
return -1;
vector<int>::size_type first,last;
for(first=0,last=ivec.size()-1;first<last;first++,last--)
{
cout<<ivec[first]+ivec[last]<<"\t";
}
if(first==last)
cout<<"The center element is not been summed "
<<"and its value is "<<ivec[first]<<endl;
return 0;
}
然后如果我输入数据,输入一个按空格,最后按回车,就没反应,继续等输入。
如果输入了数据之后再按回车,在输入,最后在输入ctrl+z,程序就直接结束了。
直接输入ctrl+z倒是正确的,提示无数据输入。
不知道是我案的不对还是怎么回事,虚心求教,如果能解释下为什么再加分。
请不要复制网上的答案,那些我都找来看过了…… 展开
int main()
{
vector<int> ivec;
int ival;
cout<<"Enter numbers(CTRL+Z to end):"<<endl;
while(cin>>ival)
ivec.push_back(ival);
if(ivec.size()==0)
cout<<"NO element?!"<<endl;
return -1;
vector<int>::size_type first,last;
for(first=0,last=ivec.size()-1;first<last;first++,last--)
{
cout<<ivec[first]+ivec[last]<<"\t";
}
if(first==last)
cout<<"The center element is not been summed "
<<"and its value is "<<ivec[first]<<endl;
return 0;
}
然后如果我输入数据,输入一个按空格,最后按回车,就没反应,继续等输入。
如果输入了数据之后再按回车,在输入,最后在输入ctrl+z,程序就直接结束了。
直接输入ctrl+z倒是正确的,提示无数据输入。
不知道是我案的不对还是怎么回事,虚心求教,如果能解释下为什么再加分。
请不要复制网上的答案,那些我都找来看过了…… 展开
1个回答
展开全部
#include<string>
#include<vector>
using namespace std;
int main()
{
string line;
int i;
int m,n=0;
vector<string> ivec;
while(getline(cin,line))
{
if (line.size()<1)
{
continue;
}
line[0] = toupper(line[0]);
for (int i = 0; i != line.size()-1; ++i)
{
if (line[i] == ' ')
{
line[i+1]=toupper(line[i+1]);
}
}
ivec.push_back(line); //结果存储
}
//一次输出
for (int i = 0; i != ivec.size(); ++i)
{
cout << ivec[i] << endl;
}
return 0;
}
不知道是不是这样的
#include<vector>
using namespace std;
int main()
{
string line;
int i;
int m,n=0;
vector<string> ivec;
while(getline(cin,line))
{
if (line.size()<1)
{
continue;
}
line[0] = toupper(line[0]);
for (int i = 0; i != line.size()-1; ++i)
{
if (line[i] == ' ')
{
line[i+1]=toupper(line[i+1]);
}
}
ivec.push_back(line); //结果存储
}
//一次输出
for (int i = 0; i != ivec.size(); ++i)
{
cout << ivec[i] << endl;
}
return 0;
}
不知道是不是这样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询