请教里面的sort()函数的语句解释?
在十个数中找到最小的与第一个换,找到最大的与最后一个换。
这是我在网上找的代码,他的sort()我实在看的蛋疼,求大叔们解释解释,详细点,谢谢。。
- C/C++ code
#include <stdio.h>int main(){void input(int *a);void sort(int *a);void output(int *a);int array[10];input(array);sort(array);output(array);return 0;}void input(int *a){int i;for(i=0;i<10;i++) scanf("%d",&a[i]);}void sort(int *a){int i,max,min,t1=0,t2=0,v;max=a[0];min=a[0];for(i=1;i<10;i++){if (a[i] < min) { min = a[i]; t1= i;}; if (a[i] > max) { max = a[i]; t2= i;}; }if ( (t1==0) && (t2 == 9)) {}else if ( (t1==9) && (t2 ==0)) { a[0]=min; a[9]=max;} else if (t2==0) { a[0]=min; a[t1]=a[9]; a[9]=max;} else if (t1==9) { a[9]=max; a[t2]=a[0]; a[0]=min;} else{a[t1]=a[0]; a[t2]=a[9]; a[0]=min;a[9]=max;};}void output(int *a){int i;for(i=0;i<10;i++) printf("%d ", a[i]);printf("\n");}
谢谢各位看看代码,
我想请问下,我现在语法什么的稍微熟悉了,请问我要进阶的话需要看什么书?
[解决办法]
- C/C++ code
void sort(int *a){int i,max,min,t1,t2;int temp;max=min=a[0];for(i=0;i<10;i++){if (a[i] <= min) { min=a[i]; t1=i;}if (a[i] >= max) { max=a[i]; t2=i;}}temp=a[0];a[0]= a[t1];a[t1]=temp;temp=a[9];a[9] = a[t2];a[t2]=temp;}