C语言实现杨辉三角与数组排序

需积分: 10 1 下载量 35 浏览量 更新于2024-09-18 收藏 61KB DOC 举报
"本实验报告主要涉及两个C语言编程任务,一是实现杨辉三角的计算与打印,二是实现数组中n个学生成绩的排序。实验旨在巩固和提高学生对函数的理解,包括函数的定义、调用、嵌套、递归以及参数传递。" 在第一个任务中,杨辉三角是一种数学结构,其每一项的值代表组合数C(n, m),其中n表示行数,m表示列数,从0开始计数。这个任务要求使用递归函数计算阶乘来获取杨辉三角的值。给出的代码中,`f(int x)` 函数用于计算阶乘,当x为1或0时返回1,否则返回x乘以f(x-1)的结果。主函数`main()`通过调用`f()`函数计算每个位置的值,并按照指定格式打印出来。例如,打印出前5行的杨辉三角: ``` 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 ``` 在第二个任务中,目标是编写一个函数,该函数接受一个整数数组和数组长度作为参数,对数组中的n个学生成绩进行排序。给出的代码中,`void f(int a[], int len)` 函数实现了一个简单的冒泡排序算法。它通过两层循环遍历数组,比较相邻元素并根据需要交换它们的位置,使得较大的元素逐渐“冒”到数组的后部。这个函数可以用于对包含10个学生成绩的数组`a`进行升序排序。 这两个任务都是C语言编程基础的重要练习,涵盖了函数的使用、递归计算以及数组操作等核心概念。通过完成这些任务,学生能够加深对C语言编程的理解,提升实际问题解决能力。