C语言;编写sort(),使二维数组偶数行从小到大输出,奇数行从大到小输出,编写完错误如下,怎样修改?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言;编写sort(),使二维数组偶数行从小到大输出,奇数行从大到小输出,编写完错误如下,怎样修改?相关的知识,希望对你有一定的参考价值。

主函数是试卷考题原有的部分,但是编写sort()后吧主函数也抄上,用VS2005编译时,如上错误。
#include<stdio.h>
void sort(int a[10][10],int n)

int m,i,j,t;
if(m%2==0)

for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[m][i]>a[m][j])

t=a[m][i];
a[m][i]=a[m][j];
a[m][j]=t;


else

for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[m][i]<a[m][j])

t=a[m][i];
a[m][i]=a[m][j];
a[m][j]=t;


int main()

int n,i,j;
int data[10][10];
scanf("%d",&n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",data[i][j]);
sort(data,n);
for(i=0;i<n;i++)

for(j=0;j<n;j++)
scanf("%d",data[i][j]);
printf("\n");

return 0;

参考技术A #include<stdio.h>
void sort(int a[10][10],int n)

int m,i,j,t;
for(m=0;m<n;++m)

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

for(j=0;j<n-i-1;j++)

if(m%2)

if(a[m][j]>a[m][j+1])

t=a[m][j];
a[m][j]=a[m][j+1];
a[m][j+1]=t;


else

if(a[m][j]<a[m][j+1])

t=a[m][j];
a[m][j]=a[m][j+1];
a[m][j+1]=t;






//此处少
int main()

int n,i,j;
int data[10][10];
scanf("%d",&n);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&data[i][j]);//
sort(data,n);
for(i=0;i<n;i++)

for(j=0;j<n;j++)
printf("%d",data[i][j]);//
printf("\n");

return 0;
本回答被提问者和网友采纳
参考技术B dsgdgsdg 参考技术C 如果将sort函数改成这样void sort(int data[][], int n), 为什么就不行呢?

如何用c语言给输入的二维数组每一行排序

可以用stdlib.h中的qsort函数
如果是int a[10][10]的话
排序第i行
qsort(a[i],10,sizeof(int),comp);
就可以了,comp是一个比较函数
int comp(const void *m1, const void *m2)
return *(int*)m1-*(int*)m2;

这样就可以排序了,如果要反序,就将comp中的m1和m2互换,可以试试,如果不对可以Hi我
参考技术A #include <stdio.h>
void main()

int a[3][4],i,j,t,m,x;
printf("输入一3×4二维整型数组:\n");
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",*(a+i)+j);
for(x=1;x<5;x++)
for(i=0;i<3;i++)

for(t=0;t<3;t++)
if(*(*(a+i)+t+1)<*(*(a+i)+t))

m=*(*(a+i)+t+1);
*(*(a+i)+t+1)=*(*(a+i)+t);
*(*(a+i)+t)=m;


printf("每行按从小到大的排序后为:\n");
for(i=0;i<3;i++)

for(j=0;j<4;j++)
printf("%6d",*(*(a+i)+j));
printf("\n");

本回答被提问者采纳
参考技术B 这是最基本的排序算法

依次比较两个把大的放在前面

循环
循环
就可以了

以上是关于C语言;编写sort(),使二维数组偶数行从小到大输出,奇数行从大到小输出,编写完错误如下,怎样修改?的主要内容,如果未能解决你的问题,请参考以下文章

c语言分段排序 整型数组,偶数在前,奇数在后,从小到大

求C语言编程编写函数sort:对数组a中的数进行从小到大排序

sort int[][] 二维数组排序

PHP二维数组按照指定的顺序排序

如何用c语言给输入的二维数组每一行排序

C语言一维数组转二维数组