C/C++数组如何自定义结束

来源:百度知道 编辑:UC知道 时间:2024/07/01 03:35:08
自定义一个结束符(最好能是回车键),来结束整型数组的输入,执行后面的代码。c代码的部分代码为:
例如:
#include <iostream>
int main ()
{
int i,k,a[100];
std::cout<<"请输入数组元素:"<<std::endl;
std::cin>>a;
std::cout<<"请输入k的值:"<<std::endl;
std::cin>>k;
……
return 0;
}
一般的定义的数组a[100],必须在输入100个整型数之后才可以结束数组输入,执行后面的操作。否则,无法进行后面的操作。我想在我输入任意个整型数后,当我按回车时(或以特殊字符作为结束符),数组a就结束循环,执行后面的操作,而不用输入100个数。例如,当我输入:1 2 3 4 5 6 7。这时我回车(或特殊符号),就可执行后面的操作,"请输入k的值:"。
不要定义另外的变量l,在输入数组元素前来规定想要输入数组元素的个数!!!希望大家把代码写下,大家分享下。对了不要用处理消息的方法来处理。
不好意思代码忘写for循环了,应该是:
#include <iostream>
int main ()
{
int i,k,a[100];
std::cout<<"请输入数组元素:"<<std::endl;
for (i=0;i<100;i++)
std::cin>>a[i];
std::cout<<"请输入k的值:"<<std::endl;
std::cin>>k;
……
return 0;
}

可以根据int类型接收数据类型的性质来判断,不需要一个标记符号都可以.
(想要结束输入的话,必须先输入完数据后回车,再进行提示的操作即可退出)

#include <iostream>
#include <vector>
using namespace std;
template<class T>
int imax(T &array,int count)
{
int i,max;
max = array[0];
for(i = 1; i < count; i++)
{
if(array[i] > max)
max = array[i];
}
return max;

}
template<class T>
int imin(T &array,int count)
{
int i,min;
min = array[0];
for(i=1 ; i < count;i++)
{
if(array[i] < min)
min=array[i];
}
return min;

}
int main()
{
int w,m,n,k;
vector<int> a;
cout<<"请输入数组元素:(以输入非数字结束,或输入两次ctrl+z结束)"<<endl;
while(cin >> k)
{
a.push_back(k);
}
cin.sync();
cin.clear();
cout<<"请输入数组参考元素个数:"<<endl;
cin>>n;