1.设数列为1,3,5,7,9,11,13,15,17,19,动态输入在数组array中,然后顺序

1.设数列为1,3,5,7,9,11,13,15,17,19,动态输入在数组array中,然后顺序打印输出该数列,再逆序打印输出该数列。

2.将3x3阶二维数组的关于主对角线对称的元素互换。二维数组的第1至3行元素分别为1、2、3、4、5、6、7、8、9。用矩阵形式分别输出互换前、后的数组元素值。

*3. 扩展:有一个已排好序的数组,要求输入一个数后,按原来的规律将它插入数组中。

第1个回答  推荐于2017-11-25
第一题:
#include<iostream>
using namespace std;
int main()
{
int a[10] = {1,3,5,7,9,11,13,15,17,19};

int i = 0;
while(i<10)cout<<i++<<",";cout<<endl;
while(i>=0)cout<<--i<<",";cout<<endl;
return 0;
}
第二题:
#include<iostream>
using namespace std;
int a[3][3]=(1,2,3,4,5,6,7,8,9};
int main()
{
int i ,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
cout<<a[i][j]<<",";
cout<<endl;
}
for(i = 0;i<3;i++)
for(j=i+1;j<3;j++)
{
int t = a[i][j];
a[i][j] = a[j][i];
a[j][i]=t;
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
cout<<a[i][j]<<",";
cout<<endl;
}
return 0;
}
第三题:
#include<iostream>
using namespace std;
int f(int *p,int i,int j,int n)//网数组pp[i…j]中插入n
{
if(i ==j)
{
if(n<=p[i]) return i;
else return i+1;
if(p[(i+j)/2]<n) return f(p,(i+j)/2,j,n);
else return f(p,i,(i+j)/2,n);
}
int main()
{
int a[10] = {1,3,5,7,9,11,13,15,17,19};//假设这是一个已经排序号从小到大的数组
int n,t;cin>>n;

t = f(a,1,10,n);
for(int i = t;i<=10;i++)
{
int x = a[i];
a[i] = n;
n = x;
}
return 0;
}本回答被网友采纳
相似回答