C程序设计上机实验报告完整版

合集下载

C语言程序设计实验上机报告.doc

C语言程序设计实验上机报告.doc

C语言程序设计实验上机报告课程实验报告课程名称C语言程序设计专业班级信息安全1302 学号姓名指导教师报告日期2014年6月16日计算机科学与技术学院目录1 实验概述1 2 第一次实验2 2.1 实验目的3 2.2 实验内容3 2.3 实验小结19 3 第二次实验20 3.1 实验目的20 3.2 实验内容20 3.3 实验小结35 4 第三次实验36 4.1 实验目的36 4.2 实验内容36 4.3 实验小结49 5 第四次实验50 5.1 实验目的50 5.2 实验内容50 5.3 实验小结62 6 第五次实验63 6.1 实验目的63 6.2 实验内容63 6.3 实验小结69 7 第六次实验70 7.1 实验目的70 7.2 实验内容70 7.3 实验小结83 8 第七次实验84 8.1 实验目的84 8.2 实验内容84 8.3 实验小结105 9 实验总结106 参考文献107 1实验概述本实验采用C语言常用的上机开发环境Visual C6.0集成开发环境。

其关键是掌握程序的编辑、修改、编译、链接和执行的方法,以及如何调试程序,跟踪程序,通过断点控制程序,观察变量、表达式在程序运行过程中的取值,如何综合运用这些方法定位程序中的的错误和排除错误。

在实验中除了传统的编程设计题外,增加了源程序改错题,源程序完善、修改、替换题,程序的调试跟踪题等,培养学生跟踪程序、设置断点、调试程序的能力,排除程序中语法、逻辑方面错误与故障的能力,并养成细致、周密、严谨的编程作风。

实验中的源程序改错题,先给出一些含有经典、常见错误的源程序,让学生通过编译或运行发现错误,并加以改正,从而纠正初学者易犯的常见错误,实验中的源程序修改替换题,也是先给出源程序,然后要求学生按要求编写修改替换原来程序中的部分代码。

实验中的跟踪调试结果填空题,给出源程序,要求学生填写程序运行过程中的某些中间结果。

强迫学生用断点设置、单步跟踪等调试程序,观察并填写相应的中间结果。

上机实验报告(精选11篇)

上机实验报告(精选11篇)

上机实验报告篇1用户名se××××学号姓名学院①实验名称:②实验目的:③算法描述(可用文字描述,也可用流程图):④源代码:(.c的文件)⑤用户屏幕(即程序运行时出现在机器上的画面):2.对c文件的要求:程序应具有以下特点:a可读性:有注释。

b交互性:有输入提示。

c结构化程序设计风格:分层缩进、隔行书写。

3.上交时间:12月26日下午1点-6点,工程设计中心三楼教学组。

请注意:过时不候哟!四、实验报告内容0.顺序表的插入。

1.顺序表的删除。

2.带头结点的单链表的\'插入。

3.带头结点的单链表的删除。

注意:1.每个人只需在实验报告中完成上述4个项目中的一个,具体安排为:将自己的序号对4求余,得到的数即为应完成的项目的序号。

例如:序号为85的同学,85%4=1,即在实验报告中应完成顺序表的删除。

2.实验报告中的源代码应是通过编译链接即可运行的。

3.提交到个人空间中的内容应是上机实验中的全部内容。

上机实验报告篇2一、《软件技术基础》上机实验内容1.顺序表的建立、插入、删除。

2.带头结点的单链表的建立(用尾插法)、插入、删除。

二、提交到个人10m硬盘空间的内容及截止时间1.分别建立二个文件夹,取名为顺序表和单链表。

2.在这二个文件夹中,分别存放上述二个实验的相关文件。

每个文件夹中应有三个文件(.c文件、.obj文件和.exe文件)。

3. 截止时间:12月28日(18周周日)晚上关机时为止,届时服务器将关闭。

三、实验报告要求及上交时间(用a4纸打印)1.格式:《计算机软件技术基础》上机实验报告用户名se××××学号姓名学院①实验名称:②实验目的:③算法描述(可用文字描述,也可用流程图):④源代码:(.c的文件)⑤用户屏幕(即程序运行时出现在机器上的画面):2.对c文件的要求:程序应具有以下特点:a 可读性:有注释。

b 交互性:有输入提示。

C语言程序设计上机实验报告

C语言程序设计上机实验报告
2.项目和解决方案
(1)创建新项目
选择“文件”一“新建”一“项目”命令;或者按[Ctrl+Shif+N]组合键;也可以在主窗口的起始页面中单击“新建项目”按钮,进入新建项目向导 在“新建项目”对话框左窗格的已安装的模板中选择"VisualC++”--“ Win32”
在对话框中窗格中选择“Win32控制台应用程序”
②在“添加命令”对话框中(见图2.4),从“类别”列表框中选择类别名称,如“调试”,从“命令”列表框中选择要添加的命令,如“开始执行(不调试)”
③单击“确定”按钮,再单击“关闭”按钮。
单击工具栏右侧的下拉按钮,也可以添加或删除命令按钮。
(4)菜单或工具栏的其他操作
在“自定义”对话框“命令”选项卡的“请选择要重新排列的菜单或工具栏”选项组中,选择要移动的菜单或工具栏,单击“上移”或“下移”按钮移动菜单或命令:单击“删除”菜单成命令,单击“全部重置”按钮将所选的菜单栏、工具栏或上下文菜单恢复为其原单需覆由“键盘”按租,可给选中的命令设定快捷键:单击“修改所选内容”按键可以对菜单或命令进行分组
选中“自动换行”复选框,行中水平方向超出可视编辑器区域的任何部分会自动显示在下一行。
选中“行号”复选框,行号出现在每行代码的旁边。行号不会添加到代码中,也不会打印出来,仅供参考。
制表符相关设置。
在“选项”对话框的左侧窗格中选择“文本编辑器”一“C/C++”或“所有语言”一“制表符”,如图2.20所示。各选项的含义如下:
单击“移除”按钮,将选定的文件从当前项目中移除,文件没有被删除,依然存于该项目单击“删除”按钮,选定的文件将永久删除,该项目文件夹内不再含有此文件。
(3)建立多项目文件

C上机实验报告实验

C上机实验报告实验

C上机实验报告实验实验报告:C语言上机实验一、实验目的通过编写C语言程序,掌握C语言的基本语法及应用,提高对C语言程序设计的理解与掌握。

二、实验内容1.编写程序,计算并输出n的阶乘。

2.编写程序,判断输入的年份是否为闰年。

3.编写程序,判断输入的数是否为质数。

4.编写程序,判断输入的字符串是否为回文字符串。

5.编写程序,实现选择排序并输出排序结果。

三、实验过程及结果1.阶乘计算程序```c#include <stdio.h>//函数声明int factorial(int n);int maiint n;printf("请输入一个整数n:");scanf("%d", &n);printf("%d的阶乘为:%d\n", n, factorial(n)); return 0;int factorial(int n)if (n == 0 , n == 1)return 1;} elsereturn n * factorial(n-1);}```实验结果:程序能够正确计算并输出n的阶乘。

2.闰年判断程序```c#include <stdio.h>int isLeapYear(int year);int maiint year;printf("请输入一个年份:");scanf("%d", &year);if (isLeapYear(year))printf("%d是闰年\n", year);} elseprintf("%d不是闰年\n", year);}return 0;int isLeapYear(int year)if (year % 400 == 0 , (year % 4 == 0 && year % 100 != 0)) return 1;} elsereturn 0;}```实验结果:程序能够正确判断输入的年份是否为闰年。

大一学生c 上机报告

大一学生c 上机报告

大一学生c 上机报告引言本次上机实验是大一学生学习C语言的第一次上机实践,通过编写C 语言程序加深对C语言的理解和掌握。

本报告将详细记录我们小组在上机实验过程中的思路、问题和解决方案,以及最终的实验结果和心得体会。

实验内容本次实验的任务是编写一个C语言程序,实现一个简单的计算器功能。

具体要求如下:1. 实现基本的加、减、乘、除四则运算功能;2. 用户可连续进行多次运算,直到选择退出;3. 对于除法运算,要做除数为零的异常处理,避免程序崩溃;4. 存在整数和小数两种运算模式,需要进行相应的数据类型处理。

思路和问题在开始编写程序之前,我们小组进行了详细的讨论和思考,确定了以下的编程思路:1. 首先,需要进行程序的初始化,包括初始化变量和数据类型;2. 然后,需要设计菜单,让用户选择要进行的运算;3. 根据用户选择的运算类型,进行相应的运算,并输出结果;4. 在除法运算时,需要进行除数为零的异常处理,避免程序崩溃;5. 用户可以选择继续进行其他运算,也可以选择退出程序。

在实际编程过程中,我们遇到了一些问题,主要包括以下几点:1. 如何实现用户输入的读取和判断,以及对输入的数据进行数据类型处理;2. 如何实现菜单的设计和选择功能;3. 如何进行除数为零的异常处理。

解决方案针对上述问题,我们小组进行了如下解决方案:1. 使用`scanf`函数对用户的输入进行读取,并使用`if`语句判断用户选择的运算类型;2. 使用`switch`语句实现菜单的选择功能,根据用户选择进行相应的运算;3. 在进行除法运算时,使用`if`语句判断除数是否为零,若为零则输出错误信息,并返回菜单。

实验结果经过我们小组的共同努力,最终我们成功完成了实验,并得到了预期的实验结果。

我们的程序能够正确地进行加、减、乘、除四则运算,并且在除法运算时能够处理除数为零的异常情况。

用户能够根据菜单选择进行多次运算,也可以选择退出程序。

心得体会通过本次上机实验,我们小组对C语言的编程能力有了显著的提升。

C语言程序设计

C语言程序设计

C语言程序设计上机实验报告实验一一、实验名称: C程序的运行环境和运行C程序的方法二、实验目的:了解在C编译系统上如何编辑、编译、连接和运行一个C程序三、实验内容:(1). 输入并运行一个简单的C程序。

(2). 设计程序,对给定的两个数求和。

(3). 设计程序,对给定的两个数进行比较,然后输出其中较大的数。

四、源程序代码:代码1:#include<stdio.h>int main(){printf("hello world!\n");return 0;}运行结果1:程序分析1:代码2:#include<stdio.h> int main(){int a=5,b=6,c;c=a+b;printf("c=%d\n",c);return 0;}运行结果2:程序分析2:代码3:#include<stdio.h>int main(){int a=5,b=6,c;if(a>b){c=a;}else{c=b;}printf("%d\n",c);return 0;}运行结果3:程序分析3:五.实验总结C语言程序设计上机实验报告实验二一、实验名称:顺序结构程序设计二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法,熟练掌握算术运算符及其表达式,逻辑运算符和逻辑表达式。

三、实验内容:(1). 编写程序,实现小写字母转大写。

(2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。

(3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。

(4). 编写程序,实现单字符getchar和putchar输入输出。

(5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。

四、源程序代码代码1:#include<stdio.h>int main(){char c1,c2;c1=getchar();printf("%c,%d\n",c1,c1);c2=c1-32;printf("%c,%d\n",c2,c2);return 0;}运行结果1:程序分析1:代码2:#include<stdio.h>int main(){int a=5,c1,c2;double b=3.141592653,c3,c4;c1=a/b;c3=a/b;c2=a+b;c4=a+b;printf("%d,%d,%lf,%lf\n",c1,c2,c3,c4);return 0;}运行结果2:程序分析2:代码3:#include<stdio.h>int main(){here: printf("计算三角形的面积请输入‘1’,立方体的体积和表面积请输入‘2’,圆的面积和周长请输入‘3’.\n");int a;scanf("%d",&a);if(a==1){double l,h,s;printf("请输入三角形的底边长和所在底边的高.");scanf("%lf%lf",&l,&h);s=l*h/2;printf("三角形的面积为%.16f\n",s);}else if(a==2){printf("请输入立方体的长宽高.");double b,c,d,v,s;scanf("%lf%lf%lf",&b,&c,&d);v=b*c*d;s=b*c+b*d+c*d;printf("立方体的体积为%.16f,表面积为%.16f\n",v,s);}else{double r,s,c,m;printf("请输入圆的半径");scanf("%lf",&r);m=3.141592653;s=m*r*r;c=2*m*r;printf("圆的面积为%.16f,圆的周长为%.16f\n",s,c);}goto here;}运行结果3:程序分析3:代码4:#include<stdio.h> int main(){getchar();putchar('b');return 0;}运行结果4:程序分析4:代码5:#include<stdio.h>int main(){int a;printf("请输入任意十进制整数:");scanf("%d",&a);printf("转换为八进制数为:%o\n转化为十六进制数为:%x\n",a,a); return 0;}运行结果5:程序分析5:五、实验总结C语言程序设计上机实验报告实验三一、实验名称:选择结构程序设计二、实验目的:正确使用逻辑运算符和逻辑表达式,熟练掌握if 语句和switch 语句,学习调试程序。

C语言程序设计实验上机报告

C语言程序设计实验上机报告

课程实验报告课程名称:C语言程序设计专业班级:信息安全1302学号:姓名:指导教师:报告日期:2014年6月16日计算机科学与技术学院目录1 实验概述 (1)2 第一次实验 (2)2.1 实验目的 (2)2.2 实验内容 (2)2.3 实验小结 (19)3 第二次实验 (20)3.1 实验目的 (20)3.2 实验内容 (20)3.3 实验小结 (35)4 第三次实验 (36)4.1 实验目的 (36)4.2 实验内容 (36)4.3 实验小结 (49)5 第四次实验 (50)5.1 实验目的 (50)5.2 实验内容 (50)5.3 实验小结 (62)6 第五次实验 (63)6.1 实验目的 (63)6.2 实验内容 (63)6.3 实验小结 (69)7 第六次实验 (70)7.1 实验目的 (70)7.2 实验内容 (70)7.3 实验小结 (83)8 第七次实验 (84)8.1 实验目的 (836)8.2 实验内容 (84)8.3 实验小结 (105)9 实验总结 (106)参考文献 (107)1实验概述本实验采用C语言常用的上机开发环境Visual C++6.0集成开发环境。

其关键是掌握程序的编辑、修改、编译、链接和执行的方法,以及如何调试程序,跟踪程序,通过断点控制程序,观察变量、表达式在程序运行过程中的取值,如何综合运用这些方法定位程序中的的错误和排除错误。

在实验中除了传统的编程设计题外,增加了源程序改错题,源程序完善、修改、替换题,程序的调试跟踪题等,培养学生跟踪程序、设置断点、调试程序的能力,排除程序中语法、逻辑方面错误与故障的能力,并养成细致、周密、严谨的编程作风。

实验中的源程序改错题,先给出一些含有经典、常见错误的源程序,让学生通过编译或运行发现错误,并加以改正,从而纠正初学者易犯的常见错误,实验中的源程序修改替换题,也是先给出源程序,然后要求学生按要求编写修改替换原来程序中的部分代码。

C语言上机实验报告

C语言上机实验报告

中南大学C语言程序设计实验报告学生姓名学号专业班级指导教师学院信息科学与工程学院完成时间2014年10月~2014年12月一、目的要求1、熟悉C语言的表达式语句、空语句和复合语句。

2、熟悉函数调用语句,尤其是各输入输出函数调用语句。

3、熟悉顺序结构程序中语句的执行过程。

4、能设计简单的顺序结构程序。

二、上机内容1、完成《C语言程序设计上机指导与习题选解》的实验一~实验三;2、编程并调试程序:(1)从键盘输入一个三位数,输出该数的各位数字和。

如输入:358,输出:3+5+8=16。

#include<stdio.h>main(){int a,b,c,x,m;printf("input a number:");scanf("%d",&x);if(x>999||x<100){printf("error\n");}else{a=x/100;x=x%100;b=x/10;c=x%10;m=a+b+c;printf("%d+%d+%d=%d\n",a,b,c,m);}system("pause");}(2)从键盘输入实数x,根据公式y=sin(x)+e|x|计算出y值输出。

#include<stdio.h>#include<math.h>main(){int x;printf("input x:");scanf("%d",&x);printf("%f\n",sin(x)+exp(x));system("pause");}一、目的要求1、学会运用逻辑表达式或关系表达式等表达条件。

2、熟练掌握if语句和switch语句。

3、学会使用F8跟踪调试程序,针对输入测试数据,观察程序运行的输出结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言程序设计上机实验报告学院:机械工程学院班级:机自161213姓名:刘昊学号:实验时间:2017年3月6号任课老师:张锐C语言程序设计上机实验报告实验一一、实验名称: C程序的运行环境和运行C程序的方法二、实验目的:了解在C编译系统上如何编辑、编译、连接和运行一个C程序三、实验内容:(1). 输入并运行一个简单的C程序。

(2). 设计程序,对给定的两个数求和。

(3). 设计程序,对给定的两个数进行比较,然后输出其中较大的数。

四、源程序代码:??代码1:运行结果1:??程序分析1:该程序用来判断所输入的整数是否为一个素数,如果一个数能被除了1和它本身整除,还能被其它数整除,那么它就不是一个素数,因此,用for循环来进行整除过程的简写。

代码2:? 运行结果2:? 程序分析2:简单的使用printf()和scanf()函数进行简单的数据运算。

代码3:运行结果3:程序分析3:使用if语句进行判断。

五.实验总结C语言程序设计上机实验报告实验二一、实验名称:顺序结构程序设计二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法,熟练掌握算术运算符及其表达式,逻辑运算符和逻辑表达式。

三、实验内容:(1). 编写程序,实现小写字母转大写。

(2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。

(3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。

(4). 编写程序,实现单字符getchar和putchar输入输出。

(5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。

四、源程序代码代码1:运行结果1:??程序分析1:所有的字符都有一个对应的数字与之对应,每一个小写字母对应的数与大写字母对应的数之间总是相差32,所以只需要对所输入的字符进行减法运算就可以转换为与之对应的大写字母。

代码2:?运行结果2:??程序分析2:简单的数据运算和格式字符的输出。

代码3:运行结果3:??? ?程序分析3:简单的数据运算实现相应的功能。

代码4:??运行结果4:?程序分析4:getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.?代码5:??运行结果5:程序分析5:重要的是格式字符的使用,%d(输出十进制整型数)%o(以八进制格式输出整形数)%x(以十六进制格式输出整型数)%f(以带小数点的形式输出浮点数)%c(输出一个字符)%s(输出字符串,直到遇到\0)五、实验总结C语言程序设计上机实验报告实验三一、实验名称:选择结构程序设计二、实验目的:正确使用逻辑运算符和逻辑表达式,熟练掌握if 语句和switch 语句,学习调试程序。

三、实验内容:(1). 编写程序,用if 语句编程实现一分段函数的求解。

(2).用if 语句编写程序,求一元二次方程的根。

(3). 用switch 语句编写程序,给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。

90分以上为A,80—90分为B,70――79分为C,60――69分为D,60分以下为E)。

(4). 用switch 语句编写程序,输入一小于6位数的整数,判断它是几位,并逆序输出。

(5). 用if 语句编写程序,判断某一年是否为闰年。

四、源程序代码代码1运行结果1:??程序分析1:使用if 函数对不同的输入参数进行不同的算术运算。

代码2:?运行结果2:??程序分析2:运用math库函数中的根号运算sqrt()函数实现求根公式的表达。

代码3:运行结果3:? ?程序分析3:运用switch语句对所有的情况分开,注意如果没有break语句,那么判断到要执行的case后,其后面的语句也要执行。

代码4:??运行结果4:?程序分析4:重要的是判断一个数几位数的算法:每次对10取整,记录一次,降低了一位位数,直到取整位0就降到了一位数,计数完毕。

然后,对于不同的基数值,输出相应的判断结果。

?代码5:??运行结果5:程序分析5:重要的是闰年判断条件“四年一闰,百年不闰;四百年一闰”的c语言表示:i%4==0&&i%100!=0||i%400==0;五、实验总结C语言程序设计上机实验报告实验四一、实验名称:循环控制程序设计二、实验目的:掌握在程序设计中使用循环的方法实现一些常用算法(如:穷举、迭代和递推等)。

三、实验内容:(1). 分别用while语句、do-while语句和for 语句编写程序,求100112 (100)nn==+++∑。

(2). 用while 语句编写程序,对输入一行字符的字母、数字、空格和其他字符的个数分别予以统计,并输出。

(3). 用for 或while语句编写程序,输出所有的水仙花数。

(4). 用for 语句编写程序,找出100-200间的所有素数。

(5). 用for语句编写程序,实现规定图案的输出。

四、源程序代码代码1运行结果1:??程序分析1:三种循环语句的使用。

代码2:?运行结果2:??程序分析2:代码3:运行结果3:? ?程序分析3:重要的是如何使用取整,取余运算符将一个数的每一位取出来。

代码4:??运行结果4:?程序分析4:重要的是,素数的判断条件的c表达:如果对于小于其本身的能能够把其整除,说明其不是一个素数,反之则为素数。

?代码5:??运行结果5:程序分析5:重要的是发现打印空格和字符个数与打印第n行之间的数字关系,根据数量关系,利用for循环实现循环打印。

五、实验总结C语言程序设计上机实验报告实验五一、实验名称:函数二、实验目的:掌握函数形参和实参的对应关系;以及“值传递”的方式,掌握函数的嵌套调用和递归调用的方法。

三、实验内容:(1). 通过无参函数实现多行字串的输出;(2). 通过有参函数数据传递,用函数来实现:(a)两个数比较,输出其中较大的数;)(b)对给定的两个数求和;(3). 编写程序,用函数的嵌套调用来实现输入4个数,找出其中最大的数。

(4). 编写程序,用函数递归调用,计算n!;(5). 写一个判素数的函数,在主函数输入一个整数,输出是否素数的信息。

四、源程序代码#include<stdio.h>void fun1(char *b ){int i;for(i=0;i<7;i++){printf("%c",b[i]);}printf("\n");}void fun2(char *d){int j;for(j=0;j<7;j++){printf("%c",d[j]);}}main(){char a[8]={'A','B','C','D','E','F','G'}; char c[8]={'H','I','J','K','L','M','N'};fun2(c);}运行结果1:??程序分析1:执行两次同样的输出函数。

代码2:#include<stdio.h>void fun1(double *b,double *d ){double max;max=*b;if(*d>*b){max=*d;}printf("两个数中较大的数是%f\n",max);}void fun2(double *b, double *d){double j;j=*b+*d;printf("%f+%f=%f\n",*b,*d,j);}main(){double a,c;printf("请输入两个数,数据之间用空格隔开\n");scanf("%lf %lf",&a,&c);fun1(&a,&c);fun2(&a,&c);}?运行结果2:??程序分析2:将两个功能通过两个函数来单独完成,有利于程序的阅读。

代码3:#include<stdio.h>int max(int n1,int n2);int main(){int i,j,k,l,m,n,o;printf("请输入四个数(用空格隔开)\n");scanf("%d %d %d %d",&i,&j,&k,&l);m=max(i,j);n=max(k,l);o=max(m,n);printf("四个数中最大的数为%d\n",o);return 0;}int max(int n1,int n2){if(n1>n2){return n1;}else{return n2;}}运行结果3:? ?程序分析3:代码4:#include<stdio.h>long jc(int m);main(){int n,jg;printf("-----该程序用来计算阶乘-----\n");printf("你要计算的是几的阶乘就输入几\n");scanf("%d",&n);jg=jc(n);printf("%d的阶乘是%d\n",n,jg);}long jc(int m){if(m==0){return 1;}else{return m*jc(m-1);}}??运行结果4:?程序分析4:5!=5*4*3*2*15!=5*4!;4!=4*3!;3!=3*2!;2!=2*1!;1!=1*0!;0!=1;实现函数的直接递归调用,并且递归使用的是选择结构,一定会有结束递归调用的语句,例如上题中if(m==0)的执行语句:return 1;就结束了再次调用函数jc函数。

?代码5:??运行结果5:程序分析5:只需要传递一个简单的整形数据即可,注意功能函数()里的变量一定要注明类型。

五、实验总结C语言程序设计上机实验报告实验六一、实验名称:一维和二维数组二、实验目的:掌握与数组有关的排序算法:冒泡排序和选择排序。

三、实验内容:(1). 用一维数组,对给定的一组数据逆序输出。

(2). 用一维数组,对10个数进行由小到大的冒泡排序。

(3). 用二维数组,求一个矩阵中的最大数据元素及所在的行列位置。

(4). 用一维数组,对10个数进行由小到大的选择排序。

(5). 用二维数组,求一个矩阵的转置矩阵。

四、源程序代码代码1:#include<stdio.h>main(){int i,j,m,t, a[100];printf("请输入一维数组的元素个数(注意:数组元素个数最多为100):\n");scanf("%d",&m);j=m-1;printf("请输入一维数组的元素(注意:每输入一个数据按回车再输入下一个数据):\n");for(i=0;i<m;i++){scanf("%d",&a[i]);}printf("你所输入一维数组为:");for(i=0;i<m;i++){printf("%d\t",a[i]);}printf("\n");if(m%2==0){printf("该一维数组逆序输出为:");for(i=0;i<m/2;i++){t=a[i];a[i]=a[j];a[j]=t;j--;}}if(m%2!=0){printf("该一维数组逆序输出为:");for(i=0;i<(m-1)/2;i++){t=a[i];a[i]=a[j];a[j]=t;j--;}}for(i=0;i<m;i++){printf("%d\t",a[i]);}}运行结果1:??程序分析1:代码2:#include<stdio.h>main(){int i,j,m,t,a[100];printf("请输入一维数组的列数(注意:列数最多为100):\n");scanf("%d",&m);printf("请输入一维数组的元素(注意:每输入一个数据按回车再输入下一个数据):\n");for(i=0;i<m;i++){scanf("%d",&a[i]);}printf("你所输入的一维数组为:\n");for(i=0;i<m;i++){printf("%d\t",a[i]);}for(i=1;i<m;i++){for(j=0;j<m-i;j++){if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}}}printf("\n");printf("你所输入的一维数组由小到大排序为:\n");for(i=0;i<m;i++){printf("%d\t",a[i]);}}?运行结果2:??程序分析2:代码3:#include<stdio.h>main(){i nt i,j,m,n,p=1,o=1,max1,a[100][100];p rintf("请输入二维数组的行数(注意:行数最多为100):\n");s canf("%d",&m);p rintf("请输入二维数组的列数(注意:列数最多为100):\n");s canf("%d",&n);p rintf("请输入二维数组的元素(注意:每输入一个数据按回车再输入下一个数据,一行输入完后,再输入下一行):\n");f or(i=0;i<m;i++){for(j=0;j<n;j++){scanf("%d",&a[i][j]);}}p rintf("你所输入的二维数组为:\n");f or(i=0;i<m;i++){for(j=0;j<n;j++){printf("%d\t",a[i][j]);if(j==n-1){printf("\n");}}}m ax1=a[0][0];f or(i=0;i<m;i++){for(j=0;j<n;j++){if(a[i][j]>max1){max1=a[i][j];o=j+1;p=i+1;}}}p rintf("该数组中最大的数为%d\n其位于该数组的第%d行第%d列",max1,p,o);}运行结果3:? ?程序分析3:代码4:#include<stdio.h>main(){int i,j,m,t,a[100];printf("请输入一维数组的列数(注意:列数最多为100):\n");scanf("%d",&m);printf("请输入一维数组的元素(注意:每输入一个数据按回车再输入下一个数据):\n");for(i=0;i<m;i++){scanf("%d",&a[i]);}printf("你所输入的一维数组为:\n");for(i=0;i<m;i++){printf("%d\t",a[i]);}for(i=0;i<m;i++){for(j=i+1;j<m;j++){if(a[j]<a[i]){t=a[i];a[i]=a[j];a[j]=t;}}}printf("\n");printf("你所输入的一维数组由小到大排序为:\n");for(i=0;i<m;i++){printf("%d\t",a[i]);}}??运行结果4:?程序分析4:?代码5:#include<stdio.h>main(){int i,j,m,n,t,a[100][100];printf("请输入二维数组的行数(注意:行数最多为100):\n");scanf("%d",&m);printf("请输入二维数组的列数(注意:列数最多为100,因为是矩阵,要求行数等于列数):\n");scanf("%d",&n);printf("请输入二维数组的元素(注意:每输入一个数据按回车再输入下一个数据,一行输入完后,再输入下一行):\n");for(i=0;i<m;i++){for(j=0;j<n;j++){scanf("%d",&a[i][j]);}}printf("你所输入的二维数组为:\n");for(i=0;i<m;i++){for(j=0;j<n;j++){printf("%d\t",a[i][j]);if(j==n-1){printf("\n");}}}for(i=0;i<m-1;i++){for(j=i+1;j<n;j++){t=a[i][j];a[i][j]=a[j][i];a[j][i]=t;}}printf("你所输入的二维数组转置后为:\n");for(i=0;i<m;i++){for(j=0;j<n;j++){printf("%d\t",a[i][j]);if(j==n-1){printf("\n");}}}?运行结果5:程序分析5:五、实验总结C语言程序设计上机实验报告实验七一、实验名称:字符数组和字符串二、实验目的:学会字符数组的输入/输出和初始化;掌握对字符数组进行连接、复制和比较的函数,掌握对字符数组进行排序的有关算法;了解字符串变量及字符串数组的使用技巧。

相关文档
最新文档