C++程序设计数组的问题
//用数组名作函数参数实参形参都用数组名,10个整数按由从小到大排序#include<iostream>usingnamespacestd;intmain(){voids...
//用数组名作函数参数 实参形参都用数组名,10个整数按由从小到大排序
#include<iostream>
using namespace std;
int main()
{
void select_sort(int array[],int n);
int a[10],i;
cout<<"enter the originl array:"<<endl;
for(i=0;i<10;i++)
cin>>a[i];
cout<<endl;
select_sort(a,10);
cout<<"the sorted array:"<<endl;
for(i=0;i<10;i++)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}
void select_sort(int array[],int n)
{
int i,j,k,t;
for(i=0;i<10-1;i++)
{
k=i;
for(j=i+1;j<10;j++)
if(array[j]<array[k])k=j;
t=array[k];array[k]=array[i];array[i]=t;
}
}/*里面的 for(i=0;i<n-1;i++) 里面的-1是什么意思啊 i<n能改成i<10吗?
{
k=i;
for(j=i+1;j<n;j++) 里面的+1是什么意思啊 */ 展开
#include<iostream>
using namespace std;
int main()
{
void select_sort(int array[],int n);
int a[10],i;
cout<<"enter the originl array:"<<endl;
for(i=0;i<10;i++)
cin>>a[i];
cout<<endl;
select_sort(a,10);
cout<<"the sorted array:"<<endl;
for(i=0;i<10;i++)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}
void select_sort(int array[],int n)
{
int i,j,k,t;
for(i=0;i<10-1;i++)
{
k=i;
for(j=i+1;j<10;j++)
if(array[j]<array[k])k=j;
t=array[k];array[k]=array[i];array[i]=t;
}
}/*里面的 for(i=0;i<n-1;i++) 里面的-1是什么意思啊 i<n能改成i<10吗?
{
k=i;
for(j=i+1;j<n;j++) 里面的+1是什么意思啊 */ 展开
3个回答
展开全部
什么问题?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <iostream>
using namespace std;
void main()
{
cout << "请输入数组长度:" << endl;
int lenth = 0;
cin >> lenth;
int *ray = new int[lenth];
cout << "请输入" << lenth << "个整数" << endl;
for (int i = 0; i < lenth; ++i)
cin >> ray[i];
int t;
for (int i = 0; i < lenth-1; ++i)
{
for (int j = i+1; j < lenth; ++j)
{
if (ray[i] > ray[j])
{
t = ray[i];
ray[i] = ray[j];
ray[j] = t;
}
}
}
cout << "按由低到高排列以后:" << endl;
for (int i = 0; i < lenth; ++i)
cout << ray[i] << " ";
cout << endl;
}
注意:这句话int *ray = new int[lenth];在这里我用的指针new空间,相当于是动态分配的数组,这样有个好处是可以根据用户输入的数组长度来分配数组的大小,如果直接用事先准备好的数组,你必须确保你的数组足够大,如果你定义了一个100长度的,用户可能输入的是200个数,那程序就出问题了。不过如果非要按照你的要求来做的话,你可以把int *ray = new int[lenth];这句改成int ray[100];或者更大的数组,前提是用户不会输入超过这个数组长度的数目
using namespace std;
void main()
{
cout << "请输入数组长度:" << endl;
int lenth = 0;
cin >> lenth;
int *ray = new int[lenth];
cout << "请输入" << lenth << "个整数" << endl;
for (int i = 0; i < lenth; ++i)
cin >> ray[i];
int t;
for (int i = 0; i < lenth-1; ++i)
{
for (int j = i+1; j < lenth; ++j)
{
if (ray[i] > ray[j])
{
t = ray[i];
ray[i] = ray[j];
ray[j] = t;
}
}
}
cout << "按由低到高排列以后:" << endl;
for (int i = 0; i < lenth; ++i)
cout << ray[i] << " ";
cout << endl;
}
注意:这句话int *ray = new int[lenth];在这里我用的指针new空间,相当于是动态分配的数组,这样有个好处是可以根据用户输入的数组长度来分配数组的大小,如果直接用事先准备好的数组,你必须确保你的数组足够大,如果你定义了一个100长度的,用户可能输入的是200个数,那程序就出问题了。不过如果非要按照你的要求来做的话,你可以把int *ray = new int[lenth];这句改成int ray[100];或者更大的数组,前提是用户不会输入超过这个数组长度的数目
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询