二维数组转化为一维数组 25
#include<stdio.h>intmain(){inti,j,k,t,h;inta[4][4],b[16];printf("pleaseinput16numbers...
#include <stdio.h>
int main()
{
int i,j,k,t,h;
int a[4][4],b[16];
printf("please in put 16 numbers;");
printf("\n");
scanf("%d",&a[i][j]);
b[h]=a[i][j];
for (h=0;h<16;h++);
if(b[h]>b[h+1])
{
t=b[h],b[h]=b[h+1],b[h+1]=t;}
a[i][j]=b[h];
for (i=0;i<4;i++)
for (j=0;j<4;j++);
printf("%d",a[i][j]);
printf ("\n");
return 0;
我想将上面的程序的二维数组赋予到一维数组上
我的格式可能错了 希望有高手解答 谢谢了
} 展开
int main()
{
int i,j,k,t,h;
int a[4][4],b[16];
printf("please in put 16 numbers;");
printf("\n");
scanf("%d",&a[i][j]);
b[h]=a[i][j];
for (h=0;h<16;h++);
if(b[h]>b[h+1])
{
t=b[h],b[h]=b[h+1],b[h+1]=t;}
a[i][j]=b[h];
for (i=0;i<4;i++)
for (j=0;j<4;j++);
printf("%d",a[i][j]);
printf ("\n");
return 0;
我想将上面的程序的二维数组赋予到一维数组上
我的格式可能错了 希望有高手解答 谢谢了
} 展开
展开全部
首先你的b[h] = a[i][j];这步就是错误的,数组定义怎么可以是未知数,除非动态开辟! 其次,你下面的程序不是二维转换一维! 好像是排序b[]数组思维比较混乱啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输入:
for (i=0;i<4;i++) for (j=0;j<4;j++) {
scanf("%d",&a[i][j]); //读
b[ i * 4 + j] = a[i][j]; // 赋给 b
}
for (i=0;i<4;i++) for (j=0;j<4;j++) {
a[i][j] = b[ i * 4 + j]; // 赋给 a
}
输出:
for (i=0;i<4;i++)
{
for (j=0;j<4;j++) printf("%d",a[i][j]); // 你多写的分号要去掉
printf ("\n");
}
for (i=0;i<4;i++) for (j=0;j<4;j++) {
scanf("%d",&a[i][j]); //读
b[ i * 4 + j] = a[i][j]; // 赋给 b
}
for (i=0;i<4;i++) for (j=0;j<4;j++) {
a[i][j] = b[ i * 4 + j]; // 赋给 a
}
输出:
for (i=0;i<4;i++)
{
for (j=0;j<4;j++) printf("%d",a[i][j]); // 你多写的分号要去掉
printf ("\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询