# 请你在问答社区回答5个算法问题并获得采纳，证明你的能力

学习数据结构与算法的用户每天会产生很多实际使用的问题。

任务一：请你回答5个用户提出的 [算法问题](https://ask.csdn.net/channel/1005/tag/68)，并获得采纳，证明你的能力。

任务二：阅读这四个算法问题，以下对算法问答的相关的描述错误的是？

* [算法问题一](https://ask.csdn.net/questions/7469556)
* [算法问题二](https://ask.csdn.net/questions/7544963)
* [算法问题三](https://ask.csdn.net/questions/7585638)
* [算法问题四](https://ask.csdn.net/questions/7542703)

## 答案

```bash
有时候，写算法的过程中出问题的不是算法的部分。例如，【算法问题三】提问者原来的代码排序的部分没有问题
```

## 选项

### A

```bash
【算法问题二】是一个二分法算法的问题，回答者指出了提问者的问题包括如下BUG：

1. 题目要求按在科技创新奖获奖名单中的先后次序输出，所以n_a不需要排序
2. 你的排序是从大到小排序，所以二分法遍历的时候，if和else if的操作需要换一下。
3. int low=0 , high=m-1 , mid=(low + high) / 2 ;是逗号表达式，计算顺序是从右到左，会先计算mid，但是这时候low和high还没有声明，所以需要分开写。另外，每次查找，都需要重新从0-m开始，所以需要放在for循环中。
4. while(low <=high)需要包括=的情况。
5. printf("%u" , item);这里，%u后面建议加一个空格，这个你自己定。下面的截图中没有加。

```

### B

```bash
有时候，写算法的过程中出问题的不是算法的部分。例如，【算法问题一】里提问者的问题在于substr函数用错了。
```

### C

```bash
有时候，写算法的过程中出问题的不是算法的部分。例如，【算法问题四】里提问者的问题在于相等判断的语法错了。
```
