循环与二分法。

一对好伙伴。(getchar,putchar)

getchar:输入,功能与scanf类似,它会从键盘上获取一个字符, 但是试用范围单个字符,是scanf的狭义。

putchar:输出,功能与printf类似,会将gerchar获取的单个字符输出。试用范围同时字符,是printf的狭义。

 小练习(密码的输入与确定)

 当scanf输入“abc”的时候,其实后面还输入“\n”而printf获取“abc”。输入缓冲区中还剩下“\n"putchar就会获取“\n" != Y.因而下面循环自动判定假,”输入失败“

for循环(最常用)

写法:for(初始化部分; 判断部分; 调整部分) 

上图:

建议:1.不可以在for循环里修改循环变量,(如图,别再循环中再改变变量i)

  • 14
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
嵌套for循环通常用于对二维数组或矩阵进行遍历。而二分法则是一种在有序数组中查找特定元素的算法。一般来说,嵌套for循环二分法之间并没有直接的联系。 然而,如果你需要在一个有序二维数组中查找特定元素,可以考虑使用类似于二分法的策略。具体来说,你可以先在第一维数组中使用二分法查找到可能包含目标元素的行,在找到行之后再在该行中使用二分法查找目标元素。 以下是一个示例代码,演示了如何在一个有序二维数组中查找特定元素: ```python def binary_search_2d(matrix, target): m, n = len(matrix), len(matrix[0]) left, right = 0, m-1 while left <= right: mid = (left + right) // 2 if matrix[mid][0] <= target <= matrix[mid][n-1]: return binary_search(matrix[mid], target) elif matrix[mid][0] > target: right = mid - 1 else: left = mid + 1 return False def binary_search(arr, target): left, right = 0, len(arr)-1 while left <= right: mid = (left + right) // 2 if arr[mid] == target: return True elif arr[mid] > target: right = mid - 1 else: left = mid + 1 return False matrix = [[1,2,3],[4,5,6],[7,8,9]] target = 5 print(binary_search_2d(matrix, target)) # True ``` 在上面的代码中,`binary_search_2d` 函数使用二分法查找可能包含目标元素的行,然后调用 `binary_search` 函数在该行中查找目标元素。注意,在 `binary_search_2d` 函数中,我们只需要比较目标元素和该行的第一个和最后一个元素的大小关系,因为该行是有序的。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值