ifg!=0) //如果最大值不在a[0]处,交换 {a[j]=a[0]; a[oj=max; f(k!=9)//如果最小值不在a9]处,交换 {ak]=a[9; a[9]=min for(=0;<10;i++) printf("%d",a[i)
if(j!=0) //如果最大值不在a[0]处,交换 { a[j]=a[0]; a[0]=max; } if(k!=9) //如果最小值不在a[9]处,交换 { a[k]=a[9]; a[9]=min; } for(i=0;i<10;i++) printf(" %d ",a[i]); }
解题思路:从数组的最后一个元素开始,依次和x值做 比较,如果x小,则将当前的数组元素向后移动一位, 然后继续比较,直到遇到第一个小于等于x值的数组元 素时,将x值插入到此数组元素后面即可 数组a[15 246810121314161820 13X
数组a[15] 2 4 6 8 10 12 14 16 18 20 … 13 X 2 4 6 8 10 12 14 16 18 2 4 6 8 10 12 14 16 2 4 6 8 10 12 14 2 4 6 8 10 12 2 4 6 8 10 12 13 1414 16 18 20 … 1616 18 20 … 1818 20 … 20 … 20 解题思路:从数组的最后一个元素开始,依次和x值做 比较,如果x小,则将当前的数组元素向后移动一位, 然后继续比较,直到遇到第一个小于等于x值的数组元 素时,将x值插入到此数组元素后面即可
测试题1: #include <stdio.h> while((i>=0)&&(x<a[iD) void maino tail=ajl; i int i, x; int a[ 15; printf("ininput 10 sort ai+1=x; number: for(i=0;=10;i++) for(i=0;<10;i++) printf("od",aiD; scanf(%d", &aliD; printf( ininput x: ) scanf(%od, &x); i=9:
测试题1: #include <stdio.h> void main() { int i , x ; int a[15]; printf("\n input 10 sort number:"); for (i=0;i<10;i++) scanf("%d",&a[i]); printf("\n input x:"); scanf("%d", &x); i=9; while((i>=0)&&(x<a[i])) { a[i+1]=a[i]; i-- ; }; a[i+1]=x; for (i=0;i<=10;i++) printf("%d ",a[i]); }
实验6二维数组 1、在已有由大到小数组中折半查找任意输 入的一个数 2、定义3个字符数组 char a[6],b[6], c[12];从键盘输入2个字符串(只包含 字母,且按字母顺序输入),分别存放 在a和b中,要求对a和b中的字符按字母 顺序排列存放到c中,最后输出c中的字 符串
实验6 二维数组 1、在已有由大到小数组中折半查找任意输 入的一个数 2、定义3个字符数组char a[6],b[6], c[12];从键盘输入2个字符串(只包含 字母,且按字母顺序输入),分别存放 在a和b 中,要求对a和b中的字符按字母 顺序排列存放到c中,最后输出c中的字 符串
折半查找的前提是:必须在一个有序数组进 行查找工作。 解题思路: (1)首先输入有序数组和待査找数的初始值 (2)用折半查找法进行查找 (3)若找到输出该数在数组中的位置,否则输 出“无此数
◼ 折半查找的前提是:必须在一个有序数组进 行查找工作。 解题思路: (1)首先输入有序数组和待查找数的初始值 (2)用折半查找法进行查找 (3)若找到输出该数在数组中的位置,否则输 出“无此数