C++中读入一组整数并把它们存入一个vector对象,将每对相邻整数的和输出来。这程序应该怎么编?

注意本人用的是VS2010,并不是C++11标准,别用C++11标准来编写。

#include<iostream>
#include<vector>

std::vector<int> numbers;
void vector_read()
{
int tem;
while(std::cin>>tem) numbers.push_back(tem);//输入任意非数字结束
}
void vector_print()
{
int lenght=numbers.size();
for (int i=0;i<lenght-1;i++)
{
std::cout<<numbers[i]+numbers[i+1]<<std::endl;
}
}
int main()
{
vector_read();
vector_print();
return 0;
}

追问

你这是一个无止境的输入循环啊在while(cin>>tem)那里,我调试了不能输出结果

追答

输入任意非数字,按回车结束

追问

难道输入数字的操作就没办法做到吗

追答#include<iostream>
#include<vector>
 
std::vector<int> numbers;
void vector_read()
{
    int tem;
    while(1)

std::cin>>tem;
if(!tem) break; //输入任0结束
numbers.push_back(tem);
}
}
void vector_print()
{
    int lenght=numbers.size();
    for (int i=0;i<lenght-1;i++)
    {
        std::cout<<numbers[i]+numbers[i+1]<<std::endl;
    }
}
int main()
{
    vector_read();
    vector_print();
    return 0;
}

追问

第8行 while(1)的具体用处是什么 求解释

温馨提示:内容为网友见解,仅供参考
无其他回答

输入一个整数,将整数存入一个数组,然后计算各位数的数字之和并输出C++...
include<iostream>using namespace std;int main(){ int i,s=0; char a[50]; cin>>a;\/\/读入一个整数 for(i=0; a[i]; i++)\/\/输出各位数字的和 { if(i>0)cout<<"+"; cout<<a[i]; s+=a[i]-'0';\/\/统计各位数字的和 } cout<<"="<<s<<endl;\/\/输出...

c++读入一些整数,对其进行从小到大的排序要求使用vector和sort...
using namespace std;int main(){ int x;vector<int> a;\/\/定义一个容器 while(cin>>x&&x!='e'){ a.push_back(x);\/\/变量x在容器a尾部入栈 } sort(a.begin(),a.end());\/\/排序 for(int i=0;i<a.size();i++)\/\/输出(a.size():读取容器a的元素个数)cout<<a[i]<<" ";...

C语言大神来,编写程序,读入一组整数到一维数组中,然后分别统计其中的...
} if(n1)printf("奇数个数:%d\\n",n1);else printf("没有奇数!\\n");if(n0)printf("偶数个数:%d\\n",n0);else printf("没有偶数!\\n");return 0;}

读一组整数到vector对象,计算并输入每对相邻元素的和,如果读入元素个数...
i+2 ==> i值一直没有变啊 必须赋值 i = xxx i才能变化

c++中如何将一个未知大小的数组读入,并将其存在一个3列,行数不定的二 ...
n%3 ? n\/3+1 : n\/3; \/\/决定二维数组长度 int (*array)[3] = new int[m][3]; \/\/定义一个数组指针 for(i = 0;i <n;i++){ array[i\/3][i%3] = p[i];} for(i = 0;i<m;i++){ for(j=0;j<3;j++)cout<<array[i][j]<<" ";cout<<endl;} } ...

编写一个程序,读入一个正整数,把所有那些连续的和为给定正整数的正整数...
include<stdio.h> void main(){ int i;int mubiaoshu;int temp;int sum=0;while(1){ printf("请输入一个数:");scanf("%d",&mubiaoshu);for(i=1;i<=mubiaoshu \/2;i++){ sum = i;temp = i;while(sum < mubiaoshu){ temp += 1;sum += temp;if(sum == mubiaoshu){ printf...

在C++中如果一个文件中既有字符串又有整数,那么如何把这两种类型的数据...
是什么意思?可能是代表了两门课成绩的整数;也有可能是某个学生学号及平均成绩;至于是什么,以数字还是字符串存储,就只能用户定了。比如文件中存放了N行数据,每行为一个学生的姓名 及学生的成绩;N<100;姓名最多四字;则可以用以下方法进行读取:include <stdio.h>int main(){ char students[...

如何用C++对一个文本文档里面的许多数据进行逐行读取,并放入数组中
推荐使用文件流来读取。如果你的数据是用空格、制表符和换行符来分隔的,那么程序可以写的很简单。直接逐行用fin就可以了。如果你的数据是用逗号或者其他字符来分隔,用换行来分行的,那么你需要在循环中写入两次读入,第一次用于读入数据,第二次用于跳过字符。如果数据中间的分隔字符是不规范、不一致、...

c++中,从键盘读入一行整数,回车停止, 再读一个数,,如何达到?? 麻烦各...
process1(mdata);\/\/现在mdata中包含了你输入的一行整数(以空格隔开)。写你自己的处理方 \/\/法,将mdata中的数据解析出来存入cc.} cin>>x;process2(x);\/\/写方法将x写入cc.return 0;} 补充:process1 中大概用到的函数 find \\ substr \\ atoi \\trim(清理空格,函数库里没有得自己写...

C++编程 输入一个正整数n(1<n<=10),再输入n个整数,输出其最大值及其...
include<stdio.h> main(){ int n,i,j;scanf("%d",&n);int a[11];for(i=0;i<n;i++)scanf("%d",&a);for(j=0;j<n;j++){ if(a[0]j){ i=j;} } } printf("%d%d",a[0],i);}

相似回答