有谁能帮我看一下,这一题C语言编程题我错在哪了吗?? 顺便帮我改一下好吗??

//题目:找出二维整型数组a[4][4]中每行元素的最大值,并将该元素移动至该行首列//编写程序://1、编写voidfindmax(inta[][N],intn[])函... // 题目:找出二维整型数组a[4][4]中每行元素的最大值,并将该元素移动至该行首列
// 编写程序:
// 1、编写void findmax(int a[][N], int n[])函数:找出
// 二维数组a中每行元素的最大值,并将该元素的列下标
// 存入数组n中,即第0行元素最大值的列下标存入n[0],
// ...,第3行元素最大值的列下标存入n[3]。
// 2、编写void move(int a[][N],int n[])函数:根据数组
// n中保存的数据,将a数组中每行最大值元素移动到该
// 行首列,要求移动后该元素与该行其他元素的相对位
// 置不变。
// 例如:
// a数组的初始数据为:
// -2 13 6 9
// 25 4 0 11
// -8 3 10 16
// 4 7 5 20
// 经过处理后a数组中数据为:
// 13 6 9 -2
// 25 4 0 11
// 16 -8 3 10
// 20 4 7 5
#include <stdio.h>
#include <stdlib.h>
#define N 4
void findmax(int a[][N], int n[]){
/**********Program**********/
int i,j,max,mark;
for (i=0;i<N;i++)
{ max=a[i][0];
mark=0;
for(j=1;j<N;j++)
{
if(max<a[i][j])
{
max=a[i][j];
mark=j;
}
}
n[i]=mark;
}
/********** End **********/
}
void move(int a[][N],int n[]){
/**********Program**********/
int i,j,k,temp;
for(i=0;i<N;i++)
{
for(j=0;j<N-n[i];j++)
{
temp=a[i][N];
for (k=N;k<0;k--)
{
a[i][k]=a[i][k-1];
}
a[i][k]=temp;
}
}
/********** End **********/
}
void main(){
int i,j;
int a[N][N]={{-2,13,6,9},{25,4,0,11},{-8,3,10,16},{4,7,5,20}},n[4];
findmax(a,n);
move(a,n);
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
printf("%d\t",a[i][j]);
printf("\n");
}
}
展开
 我来答
梧桐情丝
2013-04-06 · TA获得超过136个赞
知道答主
回答量:64
采纳率:100%
帮助的人:39.3万
展开全部

#include <stdio.h>

#include <stdlib.h>

#define N 4

void  findmax(int a[][N], int n[])

{

 /**********Program**********/

 int i,j,max,mark;

 for (i=0;i<N;i++)

 { 

  max=a[i][0];

  mark=0;

  for(j=1;j<N;j++)

  {

   if(max<a[i][j])

   {

    max=a[i][j];

    mark=j;

   }

  }

  n[i]=mark; 

 }

 

 /********** End **********/

}

void move(int a[][N],int n[])

 /**********Program**********/

 int i,j,k,temp;

 for(i=0;i<N;i++)

 { 

  for(j=0;j<n[i];j++)

  {

   temp=a[i][0];

   for(k=0;k<N-1;k++)

   {

    a[i][k]=a[i][k+1]; 

   }

   a[i][N-1]=temp;

  }

  /*for(j=0;j<N-n[i];j++)

  {

   temp=a[i][N];

   for (k=N;k<0;k--)

   {

    a[i][k]=a[i][k-1];

   }

   a[i][k]=temp;

  }*/

 }

 /********** End **********/

}

void main()

{

 int i,j;

 int a[N][N]={{-2,13,6,9},{25,4,0,11},{-8,3,10,16},{4,7,5,20}},n[4];

 findmax(a,n);

 move(a,n);

 for(i=0;i<4;i++)

 {

  for(j=0;j<4;j++)

   printf("%d\t",a[i][j]);

  printf("\n");

 }

}

 

//这应该是你想要的结果吧!你都没悬赏。。。很少有人帮你看的哦。。。我本着学习雷锋的精神啊,必须采纳哦!

panxjiazhixing
2013-04-06
知道答主
回答量:10
采纳率:0%
帮助的人:1.5万
展开全部
笨蛋············
追问
怎么了???
追答

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式