学习C语言第四天(循环语句练习题)

//3月1号 学习笔记

#include <stdio.h>

//找10个有序数值的某一个数值的下标

//折中法 & 二分法 

int main() {

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;

//}


©著作权归作者所有:来自51CTO博客作者游沅浪子的原创作品,谢绝转载,否则将追究法律责任

更多相关文章

  1. 航电oj2016-2017 参考代码
  2. 我的第20个代码
  3. 令我匪夷所思的“bug”
  4. 自学第七十一天
  5. 从阶乘、斐波那契、汉诺塔剖析彻底搞懂递归算法
  6. python 3.8.6初学笔记
  7. Android(安卓)TextView设置多样式文本,跑马灯以及霓虹灯效果
  8. Android中TextView文字设置不同的颜色
  9. Android(安卓)特别好用的框架 二,Spinner(下拉框)的使用

随机推荐

  1. CentOS 7 安装MyCli MySQL 客户端
  2. 处理SQL标准中的错误值
  3. SQL连接“实时错误&#39;91&#39;”
  4. sql merge的用法实例(学习日记)
  5. 利用Shell脚本将MySQL表中的数据转化为js
  6. MySQL十进制转化为二进制、八进制、十六
  7. 打印出不能正常工作的SQL查询结果[重复]
  8. SQL Server2012-SSIS的包管理和部署
  9. 如何判断如下的sql语句是否被正确执行了
  10. 第 5 章 MySQL 备份与恢复