函数sort使用冒泡法将一维数组中各元素按值从小到大排序。 void sort(int a[ ],int n ) {int k,j,t; for(k=0;k 第一空: j=0 第二空: a[j]>a[j+1] 第三空: a[j+1]=a[j]
举一反三
- 程序填空题: 下面程序的功能是用选择法对10个整数升序排序。 void sort(int *b,int n) { int i,j,k,t; for(i=0;i 第一空: *(b+k)>*(b+j) 第二空: k!=i 第三空: cin>>a[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; } }
- 以下程序的运行结果是【1】,其算法是【2】。 main() {inta[5]={5,10,-7,3,7},i,t,j; sort(a); for(i=0;i<=4;i++) printf("%3d",a[i]); } sort(inta[]) {inti,j,k; for(i=0;i<4;i++) for(j=0;j<4-i;j++) if(a[j]>a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;} }
- 中国大学MOOC: 写出下面程序执行后的运行结果。#include <stdio.h>int main(){int x[]={1,3,5,7,2,4,6,0},i,j,k;for(i=0;i<3;i++)for (j=2;j>=i;j--)if(x[j+1]>x[j]) { k=x[j]; x[j]=x[j+1]; x[j+1]=k;}for(i=0;i<3;i++)for(j=4;j<7-i;j++)if(x[j+1]>x[j]) { k=x[j]; x[j]=x[j+1]; x[j+1]=k;}for (i=0;i<3;i++)for(j=4;j<7-i;j++)if(x[j]>x[j+1]) { k=x[j]; x[j]=x[j+1]; x[j+1]=k;}for (i=0;i<8;i++) printf("%d",x[i]); return 0;}
- 请阅读以下程序: void fun(int s[]) { static int j=0; do {s[j]+=s[j+1];}while(++j<2); } main( ) { int k,a[10]={1,2,3,4,5}; for(k=1;k<3;k++) fun(a); for(k=0;k<5;k++) printf("%d",a[k]); } 上面程序的输出是( ).