學習C語言第四天(循環語句練習題)ide
//3月1號 學習筆記學習
#include <stdio.h>spa
//找10個有序數值的某一個數值的下標it
//折中法 & 二分法 io
int main() {class
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };循環
int x = 7;學習筆記
int sz = sizeof(arr) / sizeof(arr[0]);// 計算元素個數方法
int left = 0; //左下標語言
int right = sz - 1; //右下標
while (left<=right) {
int mid = (left + right) / 2;
if (arr[mid] > x) {
right = mid - 1;
}
else if (arr[mid] < x) {
left = mid + 1;
}else {
printf("找到了,下標是%d\n", mid);
break;
}
}
if (left > right) {
printf("找不到!\n");
}
return 0;
}
// 求10個數的階乘的和
// 方法一
//int main() {
// int i = 0;
// int n = 0;
// int ret = 1;
// int sum = 0;
// for (n = 1; n <= 10;n++){
// ret = ret * n;
// sum = sum + ret;
// }
// printf("sum= %d\n", sum);
// return 0;
//}
// 求10個數的階乘的和
//方法二
//int main() {
// int i = 0;
// int n = 0;
// int ret = 1;
// int sum = 0;
// for (n = 1; n <= 10;n++) {
// ret = 1;
// for (i = 1; i <= n; i++) {
// ret = ret * i;
// }
// sum = sum + ret;
// }
// printf("sum= %d\n", sum);
// return 0;
//}