以下是引用wp231957在2012-11-16 19:17:33的发言:
我可不想做搬砖人呢
搬砖的默默流下了伤心的泪水我可不想做搬砖人呢
//////////////////////////////////////////////////////////////////////////////////// #include <stdio.h> int maxa(int s[],int n) { if(n==0) return s[n]; int a=s[0]; int b=maxa(s+1,n-1); return a>b?a:b; } //数组按大到小排序 //bug:源数组中不能有相同数据 int main () { int source[10]={1,3,5,7,9,8,6,4,11,10}; int dest[10]; int i,j; for(i=0;i<10;i++) { dest[i]=maxa(source,9); for(j=0;j<10;j++) if(source[j]==dest[i]) source[j]=-1; } for(i=0;i<10;i++) printf("%3d",dest[i]); printf("\n"); return 0; } ///////////////////////////////////////////////////////////////////////////////// #include <stdio.h> //数组按大到小排序 //bug:源数组中不能有相同数据 struct Count { int c; int count; }; int main () { int source[10]={1,3,5,7,9,8,6,4,11,10}; struct Count conter[100]; int i; for(i=0;i<100;i++) { conter[i].c=i; conter[i].count =0; } for(i=0;i<10;i++) conter[source[i]].count ++; for(i=99;i>=0;i--) if(conter[i].count) printf("%3d",conter[i].c); printf("\n"); return 0; } /////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////// #include <stdio.h> int maxa(int s[],int n) { if(n==0) return s[n]; int a=s[0]; int b=maxa(s+1,n-1); return a>b?a:b; } //数组按大到小排序 // int main () { int source[10]={1,3,5,7,9,8,6,4,11,10}; int dest[10]; int i,j; for(i=0;i<10;i++) { dest[i]=maxa(source,9); for(j=0;j<10;j++) if(source[j]==dest[i]){ source[j]=-1; break;} } for(i=0;i<10;i++) printf("%3d",dest[i]); printf("\n"); return 0; } ///////////////////////////////////////////////////////////////////////////////// #include <stdio.h> //数组按大到小排序 // struct Count { int c; int count; }; int main () { int source[10]={1,3,5,7,9,8,6,4,11,10}; struct Count conter[100]; int i; for(i=0;i<100;i++) { conter[i].c=i; conter[i].count =0; } for(i=0;i<10;i++) conter[source[i]].count ++; for(i=99;i>=0;i--) while(conter[i].count--) printf("%3d",conter[i].c); printf("\n"); return 0; } /////////////////////////////////////////////////////////////////////////////////
#include<stdio.h> int main(){ int source[]={1,3,5,7,9,8,6,4,11,10,12,12,45,68,45}; int length=sizeof source/sizeof source[0]; for(int i=0;i<length;++i){ for(int j=i+1;j<length;++j){ int tem; if(source[i]<source[j]){ tem=source[i]; source[i]=source[j]; source[j]=tem; } } printf("%d ",source[i]); } return 0; }排序了?没排?
#include<stdio.h> int main(){ int source[]={1,3,5,7,9,8,6,4,11,10,12,12,45,68,45}; int length=sizeof source/sizeof source[0]; for(int i=0;i<length;++i){ int tem1=source[i]; for(int j=i+1;j<length;++j){ int tem2; if(tem1<source[j]){ tem2=tem1; tem1=source[j]; source[j]=tem2; } } printf("%d ",tem1); } return 0; }贴错代码了,本来要贴的是这个