程序定义了N*N的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][N])
函数的功能是:使数组第一列元素中的值与最后一列元素中的值对调、第二列元素的值与倒数第二列中的值对调、……、其他依次类推,这道题的思路和流程图是怎样的呢???急需啊~~~谢...
函数的功能是:使数组第一列元素中的值与最后一列元素中的值对调、第二列元素的值与倒数第二列中的值对调、……、其他依次类推,这道题的思路和流程图是怎样的呢???急需啊~~~谢谢啦
展开
4个回答
展开全部
swap函数就是方法
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void swap(int a[][5],int n)
{
int i,j,t;
for(i=0;i<n/2;i++)
{
for(j=0;j<n;j++)
{
t=a[i][j];
a[i][j]=a[n-i-1][j];
a[n-i-1][j]=t;
}
}
}
int main()
{
int ma[5][5];
int i,j;
srand((unsigned)time(0));
printf("对调前:\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
ma[i][j]=rand()%100+1;
printf("%4d",ma[i][j]);
}
printf("\n");
}
printf("对调后:\n");
swap(ma,5);
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("%4d",ma[i][j]);
}
printf("\n");
}
printf("\n");
return 0;
}
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void swap(int a[][5],int n)
{
int i,j,t;
for(i=0;i<n/2;i++)
{
for(j=0;j<n;j++)
{
t=a[i][j];
a[i][j]=a[n-i-1][j];
a[n-i-1][j]=t;
}
}
}
int main()
{
int ma[5][5];
int i,j;
srand((unsigned)time(0));
printf("对调前:\n");
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
ma[i][j]=rand()%100+1;
printf("%4d",ma[i][j]);
}
printf("\n");
}
printf("对调后:\n");
swap(ma,5);
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
{
printf("%4d",ma[i][j]);
}
printf("\n");
}
printf("\n");
return 0;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两层for回圈可以完成
第一层回圈从第1列开始巡回到第N/2列
第二层回圈把两列内的N个元素对调
第1列和第N-1列对调
第2列和第N-2列对调
...
第一层回圈从第1列开始巡回到第N/2列
第二层回圈把两列内的N个元素对调
第1列和第N-1列对调
第2列和第N-2列对调
...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h> #define N 10 float fun(int num[N[N]){ int i,j,k=0,sum=0; float average; //下面求数组周边元素的平均值 for(i=0;i
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询