请教一个排序问题!
<P>将一个数组的元素按大小顺序重新排列,必须用for循环语句:<BR>我写了一个,但数组元素有相同的就会输不出最小的数,请各位指点一二.<BR>#include<stdio.h><BR> int main()<BR> {<BR> int b[3][4],m,n,i,j,max,min,k=10000;<BR> int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};<BR> /*输出原数组*/<BR> printf("原数组:\n");<BR> for(i=0;i<3;i++)<BR> {<BR> for(j=0;j<4;j++)<BR> {<BR> printf("%3d",a[i][j]);<BR> if(j==3)<BR> printf("\n");<BR> }<BR> }<BR> /*求数组最小值*/</P><P> min=a[0][0];<BR> for(i=0;i<3;i++)<BR> {<BR> for(j=0;j<4;j++)<BR> {<BR> if(min>=a[i][j])min=a[i][j]; <BR> }<BR> }<BR>/*将数组里的数按大小顺序排列*/<BR> <BR> printf("排序后的数组:\n");<BR> max=a[0][0];<BR> for(m=0;m<=2;m++)<BR> {<BR> for(n=0;n<=3;n++)<BR> {<BR> for(i=0;i<=2;i++)<BR> {<BR> for(j=0;j<=3;j++)<BR> {<BR> if(a[i][j]>=k)continue;<BR> else if(max<=a[i][j])<BR> max=a[i][j];<BR> }<BR> }<BR> b[m][n]=max;<BR> printf("%-3d",b[m][n]);<BR> k=max;<BR> max=min;<BR> if(n==3)printf("\n");<BR> }<BR> }<BR> return 0;<BR> }</P> <P>你没写输出语句<BR>/*求数组最小值*/</P>
<P>min=a[0][0];<BR>for(i=0;i<3;i++)<BR> for(j=0;j<4;j++)<BR> if(min>a[i][j])<BR> min=a[i][j];<BR><FONT color=#ff0000>printf("%d",min); //输出min<BR></FONT></P> 在我机子上咋运行不通啊! 不是吧?在我机子上输出-10 啊 。。。。。还没到10篇 <P>马上就10</P> 呵呵
回复:(codelet)你没写输出语句/*求数组最小值*/...
我并不是要输出最小值,而是输出重大到小排序后的数组页:
[1]
