C语言数组程序问题,高手帮解决一下
问题是这样的,要求定义一个二维数组,然后,逆序输出,本人刚接触C语言,指针什么的都没学,最好用FOR循环做
#include "stdio.h" void main() { int array[5][5]; int i,j; printf("Please input the array number") for(i=0;i<5;i++) for(j=0;j<5;j++) scanf("%d",&arrayi][j]);/*输入5*5的数组*/ for(i=4;i>=0;i--) /*逆序输出*/ { for(j=4;j>=0;j--) printf("%d\t",array[i][j]); printf("\n"); } }只是逆序输出的话,你对i,j赋值的时候从数组的最后一个数开始,你先想想你正向输入时是什么输入了就能明白了
#include "stdio.h" void main() { int a[3][3]={8,9,7,5,6,3,2,1,4}; int b[9]; int i,j=0,k,temp; for(i=0;i<3;i++) for(j=0;j<3;j++) { temp=i+j+2*i;//一位数组 与其对应长度二维数组的关系 b[temp]=a[i][j];//把数据保存到一位数组 } for(i=0;i<3*3-1;i++) { k=i; for(j=i+1;j<3*3;j++)//排序 { if(b[j]>b[k]) k=j; if(i!=k) { temp=b[i]; b[i]=b[k]; b[k]=temp; } } } for(i=0;i<3;i++) { for(j=0;j<3;j++) { temp=i+j+2*i;//赋值给二维数组 并输出 a[i][j]=b[temp]; printf("%d ",a[i][j]); } printf("\n"); } }楼主 可以自己去测试