急将一个一维数组a(n)中各元素值按行的顺序放入二维数组b(k*k)(其中...
发布网友
发布时间:2024-08-19 07:13
我来回答
共2个回答
热心网友
时间:2024-08-22 15:21
#define N 4
void transArray(int a[],int b[][N])
{
int i,j,n=0;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
{
b[i][j]=a[n++];
}
}
int main()
{
int k,i,j;
int a[N*N];
int b[N][N];
for(k=0;k<N*N;k++)a[k]=k;
for(k=0;k<N*N;k++)printf("%3d",a[k]);
printf("\n");
transArray(a,b);
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
printf("%3d",b[i][j]);
}
printf("\n");
}
return 1;
}
热心网友
时间:2024-08-22 15:23
#include<stdio.h>
#define p 2
void main()
{
int a[p][p],b[p*p]={1,2,3,4};
int i=0,j,k=0;
while(i<p*p)
{
for(j=0;j<p;j++)
{
a[k][j]=b[i];//赋值
if((i+1)%p==0)//当赋予p个数数值之后,在二维数组中换一行
k++;
i++;
}
}
for(i=0;i<p;i++)
{
for(j=0;j<p;j++)
printf("%d ",a[i][j]);//输出
printf("\n");
}
}