折半查找
int a[11]={5,13,19,21,37,56,64,75,80,88,92}; int index=-1,key,low,high,middle;
scanf("%d",&key); low=0;high=10; while(low<=high) { middle=(low+high)/2; if (key==a[middle]) { index=middle; break; } else if (key>a[middle]) low=middle+1; else high=middle-1; }
二维数组
例6.4 二维数组行列对换(矩阵转置)
例6.5 对于一个二维数组,求最大值及其下
标 经典实例:杨辉三角(第6章习题第6题)
二维数组
本节要点
二维数组的物理存储方式
二维数组的逻辑概念——矩阵
二维数组元素的遍历——双重循环
字符数组
C语言中没有字符串变量,字符串 数据需要使用字符数组保存。
数组名[下标][下标] 例:赋值 a[1][3]=8;
输出 printf("%d",a[2][1]);
二维数组的定义和引用
下面的程序运行时输入 34 56 12 7 9 41 52, 显示结果为______。 int a[2][3], i, j; for (i=0; i<=1; i++) for (j=0; j<=2; j++) scanf("%d", &a[i][j]); for (j=0; j<=2; j++) { for (i=0; i<=1; i++) printf("%d\t", a[i][j]); printf("\n");}