永发信息网

将一维整型数组a的12个元素保存到4×3的二维数组b中 按4行3列输出b中各元素的值 2 从二维数

答案:3  悬赏:60  手机版
解决时间 2021-02-27 08:20
  • 提问者网友:城市野鹿
  • 2021-02-27 04:58
将一维整型数组a的12个元素保存到4×3的二维数组b中 按4行3列输出b中各元素的值 2 从二维数
最佳答案
  • 五星知识达人网友:北城痞子
  • 2021-02-27 05:23
如果你要输入数据,自己添加:
for (i=0;i<12;i++) scanf("%d",&a[i]); 就可以了。
a,b 元素一样多,所以用 memcpy 就把数据传过去了,快捷,便利。
m 记录最大值,mj 记录行号,mi记录列号。

完整程序如下:
#include
main(){
int a[12]={1,2,3,4,5,6,7,28,9,10,11,12};
int b[4][3];
int i,j,m,mj,mi;

memcpy(&b[0][0],&a[0],sizeof(int)*12);
for (j=0;j<4;j++){
for (i=0;i<3;i++) printf("%d ",b[j][i]);
printf("\n");
}

m=b[0][0]; mj=0; mi=0;
for (j=0;j<4;j++)
for (i=0;i<3;i++){
if (b[j][i]>m) {m=b[j][i];mj=j;mi=i;}
}
printf("max is: b[%d][%d]=%d\n",m,b[mj][mi]);
return 0;
}
全部回答
  • 1楼网友:白昼之月
  • 2021-02-27 07:32

#include"stdio.h"
void find(int *n,int k);
int main()
{
int i=0,j=0,a[12]={32,17,4,13,541,14,45,145,41,46,42,24},b[4][3]={0},*s=b[0];
for(i;i<12;i++)
{
b[i/3][i%3]=a[i];
}
printf("the array member as bellow: ");
for(i=0;i<12;i++)

i%3==2?printf("%d ",*(s+i)):printf("%d ",*(s+i));;
}
find(s,12);
return 0;
}
void find(int *n,int k)//*n表示二维数组的第一个数的地址这里是b[0][0]地址,k表示数组中有多少数
{
    int temp=0,*p=n,q=k;
char flag=1;
while(k--)
{
(*p>=temp)? temp=(*p),flag=q-k-1:1;
p++;
}
printf(" the max number at :row=%d,line=%d ",flag/3,flag%3);
}
运行结果:
  • 2楼网友:轻雾山林
  • 2021-02-27 06:04
#include
int main()
{
int i,j,a[12],b[4][3],max,x=0,y=0;
for(i=0;i<12;i++)
scanf("%d",&a[i]);
for(i=0;i<=12;i++)
b[i/3][i%3]=a[i];
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
printf("%d ",b[i][j]);
printf("\n");
}
max=b[0][0];
for(i=0;i<4;i++)
for(j=0;j<3;j++)
if(b[i][j]>max)
{
max=b[i][j];
x=i;
y=j;
}
printf("最大数%d %d行 %d列",max,x,y);
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯