输入10个整数,用选择法排序后按从小到大的次序输出。 #define N 10 main( ) { int i,j,min,temp,a[N]; for(i=0;ia[j]) ; temp=a[i]; a[i]=a[min]; a[min]=temp; } for (i=0;i &a[i] i
举一反三
- 下面的程序是将array数组按从小到大进行排序,请填空。 #include<stdio.h> int main() { int array[10]; int i,j,temp; printf("input 10 numbers please "); for(i=0;i<10;i++) scanf("%d",&array[i]); for(i=0;i<9;i++) for(j=i+1;j<10;j++) if() { temp=array[i]; array[i]=array[j]; array[j]=temp; } printf("the sorted 10 numbers: "); for(i=0;i<10;i++) printf("%d ",array[i]); return 0; }[/i][/i][/i][/i]
- 将4个字符串从小到大排序后输出。 #include #include int main(void ) { int i; char *c[ ] = {"china", "America", "Japan","Rusia"}; void fsort(char *a[ ], int n); _________________; for(i = 0; i < 4; i++) printf("%s ", c[i]); return 0; } void fsort( char *a[ ] ,int n ) {/* 对a数组操作,即对color操作*/ int i, j; ———————; for(i=0;i for(j=0;j if(strcmp(a[j],a[j+1])>0) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } }
- 以下程序输出的temp的值是? #define N 5 main() { int i; int a[N]={1,2,3,4,5}; for(i=0;i <n 2;i++) { int temp; temp="a[i];" a[i]="a[N-i-1];" a[n-i-1]="temp;" } printf("%d",temp);>[/i][/i] A: 2 B: 3 C: 随机数 D: 编译出错,变量未定义
- 二维字符数组:将5个字符串从小到大排序后输出。请填空。 #include #include int main(void ) { int i; char color[ ][7]= {"red", "blue", "yellow", "green", "black"}; void fsort(char a[5][7], int n); fsort(color, 5); for(i = 0; i < 5; i++) printf("%s ", color[i]); return 0; } void fsort(char a[5][7], int n) { int i, j; char temp[7]; for(i = 1; i < n; i++) for(j = 0; j < ______; j++) if(strcmp(a[j], a[j+1]) > 0){ strcpy(temp,a[j]); ____________ ; strcpy(a[j+1],temp); } }
- 将10个数据按升序顺序排序, 补全选择排序程序代码中语句。 main() {int a[10],n=10, i, j, loc,t; for(i=0;ia[j]) loc=j; if(loc!=i) {t=a[i]; a[i]=a[loc]; a[loc]=t;} for(i=0;i<10;i++) printf("%d ",a[i]); }