第一题
// 练习:使用二分查找,在一组有序元素中查找数据项// 形参是数组,实参是数组名#includeconst int N=5;int binarySearch(int x[], int n, int item);int main() {int a[N]={ 1,3,9,16,21};int i,index, key;printf("数组a中的数据:\n");for(i=0;i =0)printf("%d在数组中,下标为%d\n", key, index);elseprintf("%d不在数组中\n", key);return 0;}//函数功能描述://使用二分查找算法在数组x中查找特定值item,数组x大小为n// 如果找到,返回其下标// 如果没找到,返回-1int binarySearch(int x[], int n, int item) {int low, high, mid;low = 0;high = n-1;while(low <= high) {mid = (low+high)/2;if (item == x[mid])return mid;else if(item < x[mid])high = mid - 1;elselow = mid + 1;}return -1;}
T1.2
// 练习:使用二分查找,在一组有序元素中查找数据项// 形参是指针变量,实参是数组名#includeconst int N=5;int binarySearch(int *x, int n, int item);int main() {int a[N]={ 1,3,9,16,21};int i,index, key;printf("数组a中的数据:\n");for(i=0;i =0)printf("%d在数组中,下标为%d\n", key, index);elseprintf("%d不在数组中\n", key);return 0;}//函数功能描述://使用二分查找算法在x指向的数据项开始的n个数据中,查找item// 如果找到,返回其位置// 如果没找到,返回-1int binarySearch(int *x, int n, int item) {int low, high, mid;low = 0;high = n-1;while(low <= high) {mid = (low+high)/2;if (item == *(x+mid))return mid;else if(item < *(x+mid))high = mid - 1;elselow = mid + 1;}return -1;}
T2.2
// 练习:使用选择法对字符串按字典序排序#include#include void selectSort(char str[][20], int n ); // 函数声明,形参str是二维数组名int main() {char name[][20] = { "John", "Alex", "Joseph", "Candy", "Geoge"};int i;printf("输出初始名单:\n");for(i=0; i<5; i++)printf("%s\n", name[i]);selectSort(name, 5); // 调用选择法对name数组中的字符串排序printf("按字典序输出名单:\n");for(i=0; i<5; i++)printf("%s\n", name[i]);return 0;}// 函数定义// 函数功能描述:使用选择法对二维数组str中的n个字符串按字典序排序void selectSort(char str[][20], int n) {// 补足代码{ int i,j,k; char p[20]; for(i=0; i
上课跟着老师的思路走,做作业会容易很多。
互评:
1
https://www.cnblogs.com/neorenaissance/p/10927967.html
2
https://www.cnblogs.com/139Typing/p/10926464.html
3
https://www.cnblogs.com/ability-1206/p/10922415.html