int a[8]={2,33,-6,5,-82,30,99,21},b[8],t[8][8];
(1)先挑选a中所有负数放入b中,再挑选所有正数中是3的倍数的奇数放入b,最后将b的其他元素均置零。
(2)将a中的8个数一次赋给t数组的首列各元素,将b数组中的8个数依次赋给t数组的末列各元素,并将其他各列的t[i][j]均赋值为i-j+3。
(3)输出各数组。
C++实现:
#include <iostream>
using namespace std;
int main()
{
int a[8]={2,33,-6,5,-82,30,99,21},b[8],t[8][8];
int j;
int i;
j=0;
cout<<"--------a----------"<<endl;
for(i=0;i<8;i++)
{
if(a[i]<0)
b[j++]=a[i];
cout<<a[i]<<" ";
}
cout<<endl;
for(i=0;i<8;i++)
{
if(a[i]>0 && a[i]%3==0 && a[i]%2!=0)
b[j++] = a[i];
}
for(int k=j;k<8;k++)
b[k] = 0;
cout<<"---------b---------"<<endl;
for(i=0;i<8;i++)
cout<<b[i]<<" ";
cout<<endl;
for(i=0;i<8;i++)
{
t[i][0] = a[i];
t[i][7] = b[i];
for(j=1;j<7;j++)
t[i][j] = i-j+3;
}
cout<<"---------------t--------------"<<endl;
for(i=0;i<8;i++)
{
for(j=0;j<8;j++)
cout<<t[i][j]<<"\t";
cout<<endl;
}
return 0;
}