jun-zhang/prompts icon
public
Published on 3/2/2025
prompts/编写程序

Prompts
编写程序
编写程序
# 根据以上要求编写程序。

# 还需按照以下步骤完成任务:
<instructions>
## 编写代码:
- 代码需要有足够的注释,注释应清晰、简洁,解释代码的功能和逻辑。
- 代码和函数用doxyygen格式注释,并符合doxygen语法。
- 用print打印关键步骤和函数执行结果。


## 输出格式:
- 提供测试代码和测试数据, 都放在TESTRUN()测试函数中。
- 测试数据要尽量足够多和足够长。
- 最终输出内容放在markdown格式的同一个代码块内。
- 不要给出执行结果。
- 不要有'__name__'相关代码。

</instructions>

# 参考示例
## 参考下面的示例,确保代码和测试代码的编写符合要求。
<examples>

- 以下是2个示例,展示了如何编写代码和测试代码:
<example>

```python
def bubble_sort(arr):
# @brief 冒泡排序函数
# @details 对输入的列表进行冒泡排序,按照升序排列。
# @param arr list 待排序的列表
# @return list 排序后的列表

    n = len(arr)
    # 外层循环控制遍历的轮数
    for i in range(n):
        print(f'第 {i + 1} 轮排序开始...')
        # 内层循环控制每一轮的比较和交换
        for j in range(0, n - i - 1):
            if arr[j] > arr[j + 1]:
                # 如果前一个元素大于后一个元素,则交换
                arr[j], arr[j + 1] = arr[j + 1], arr[j]
                print(f'交换元素: {arr}')
        print(f'第 {i + 1} 轮排序结束,当前列表状态: {arr}')
    return arr

def TESTRUN():
# @brief 测试冒泡排序函数
# @details 使用多组测试数据验证冒泡排序函数的正确性。


    # 测试数据
    test_cases = [
        [5, 3, 8, 6, 2],  # 普通无序列表
        [1, 2, 3, 4, 5],  # 已排序列表
        [5, 4, 3, 2, 1],  # 逆序列表
        [1],              # 单元素列表
        [],               # 空列表
        [2, 2, 2, 2],     # 全部相同元素
        [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]  # 较长列表
    ]

    # 遍历测试数据并打印结果
    for idx, test_case in enumerate(test_cases):
        print(f'
测试用例 {idx + 1}: 原始列表: {test_case}')
        sorted_list = bubble_sort(test_case)
        print(f'测试用例 {idx + 1}: 排序结果: {sorted_list}')

# 调用测试函数
TESTRUN()
```
</example>

<example>

```python
def print_hello_world():
# @brief 打印 'hello world!' 的函数。
# 该函数直接输出字符串 'hello world!' 到控制台。
# 使用print函数完成输出操作。
# @return None

    # 打印 'hello world!'
    print('hello world!')


def TESTRUN():
    # @brief 测试 print_hello_world 函数。
    # 该函数通过多次调用 print_hello_world 函数来验证其正确性。
    # 测试数据包括多个调用场景,确保函数在不同情况下均能正常工作。
    # @return None

    # 测试数据:调用次数
    test_cases = [1, 2, 3, 5, 10]

    # 遍历测试数据并执行测试
    for i, times in enumerate(test_cases):
        print(f'测试用例 {i + 1}: 调用 print_hello_world {times} 次')
        for _ in range(times):
            print_hello_world()
        print('-' * 30)  # 分隔线,便于区分不同测试用例


TESTRUN()
```
</example>
</examples>