当前位置:首页 > c语言实验指导书
—
定义变量、输入n及数组a各元素 for(i=0;i k=i for(j=i+1;j 真 k=j 交换a[k]与a[i] 输出已排序的n个数 用冒泡排序同样的主函数,请根据上面的N-S图编写选择排序函数。 3. 下面的程序用来实现将一个3×3的矩阵转置。 #include \void tranf(int (*p)[3]) { int t,i,j; for(i=0;i<3;i++) for(j=0;j { t=p[i][j]; p[i][j]=p[j][i]; p[j][i]=t; } } main() { int i,j,a[3][3]; for(i=0;i<3;i++) for(j=0;j<3;j++) scanf(\ tranf(a); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf(\ printf(\ } } 将上面程序tranf函数中的的方括号改成*号的表示形式,调试并运行程序。 程序输入:1 2 3 4 5 6 7 8 9,记录程序的输出。 4. 用指向指针的方法对n个整数排序并输出。要求将排序单独写一个函数。n和各个整数在主函数中输入,最后在主函数中输出。 a[j] 假 欢迎下载 — 实验四 函数调用和变量存储类别(4学时) 一.实验类型 验证和设计 二.实验目的 1. 掌握定义函数的方法; 2. 掌握函数实参与形参的对应关系以及“值传递”的方式; 3. 掌握函数的嵌套调用和递归调用的方法; 4.全局变量和局部变量动态变量、静态变量的概念和使用方法。 三. 实验内容和要求 1 编写两个函数,分别求两个正整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个正整数由键盘输入。 【提示】设有两个正整数m和n ⑴ 实验五介绍了求最大公约数的算法 ⑵ 若最大公约数为h,则最小公倍数l=m*n/h 。 实验时,完成以下两个函数的定义,使之和主程序构成完整的程序,实现题目的要求。 #include int hcf(int m,int n) /* 求最大公约数的函数 */ { …… } int lcd(int m,int n,int h) /* 求最小公倍数的函数 */ { …… } void main() { int m,n,h,l; printf(\请输入两个正整数m、n:\ scanf(\ h=hcf(m,n); printf(\和%d的最大公约数是:%d\\n\ l=lcd(m,n,h); printf(\和%d的最大公约数是:%d\\n\} 程序调试通过后,用m=350、n=125和m=96、n=64两组数据运行程序,记录程序的输出。 2. 上机调试下面的程序,记录系统给出的出错信息,并指出错误原因。 main() { int x,y; printf(\ int sum(a,b); { int a,b; 欢迎下载 — return(a+b); } } 3. 编写求n!的函数f(int n),在主函数中输入两个整数m、n,然后调用函数求: m!C?n!(m-n)!nm【注意】函数f的类型应用long或double 。 四.思考题 1. 编写程序,任意输入10个整数的数列,并按从小到大的顺序进行排序,然后在删除重 复数。10个整数用scanf函数输入。 排序的方法很多,教材P134介绍了冒泡排序法,算法如下: ① 定义变量,输入排序数据数n和待排序的n个数据。 ② n个数排序要进行n-1遍。 以下是一遍排序(第i遍)的算法: ③ 设本趟排序中没有交换,即flag=0。 ④ 从下标j=n-1的元素起,到i+1个元素,比较a[j]与a[j-1]:若a[j] ⑤ 若没有交换(flag=0),排序完成,退出循环。 ⑥ 输出排序结果。 上述算法的①、⑥在main函数中实现,其余各步调用sort函数完成。主函数如下: #include int a[100]; /* 外部数组 */ void main() { int i,n; void sort(int); /* 说明被调函数 */ printf(\请输入排序的数据个数n:\ scanf(\ printf(\请输入要排序的%d个整数:\ for(i=0;i sort(n); /* 调用sort函数完成排序 */ printf(\排序结果:\ for(i=0;i 关于如何删除重复数,请大家自己完成。 五.注意事项 1. 参数是一个函数与外界的接口,其有无、多少,取决于在实现该函数功能时是否需要已知数据,以及需要多少,它的所需,即为参数。 欢迎下载 — 2. 注意函数调用返回的特点:返回调用处,而后继续执行下面的语句。 3. 函数中无return语句时,函数的类型定义为void或int,不可定义为其他。 4. 当被调函数定义在主调函数之后时,应在主调函数中说明被调函数,否则,调用时将出现错误。 5. 当一个程序由2个或2个以上的源程序文件组成时,必须将这些源程序文件组织在一个工程——项目文件中。在编译时,系统会分别对项目文件中的每个文件进行编译,然后将所得到的目标文件连接成一个整体,再与系统的有关资源连接,生成一个可执行文件,最后执行这个文件。 欢迎下载
共分享92篇相关文档