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 语言程序设计实习性质:08060101实习时间:2011.09—2012.01实习地点:学生姓名:学号:学院:信息科学技术学院学系:数学系专业:信息与计算科学指导教师:教师单位:数学系2011年9月1日C语言程序设计课程实验项目目录学生姓名:学号:第 1 页暨南大学本科实验报告专用纸实验一熟悉WinTC/VC的上机过程:一、实验目的:1.熟悉Win TC或者VC++ 6.0的软件环境,掌握使用其进行编辑、编译、连接和运行的方法。

2.通过运行简单的C程序,掌握C源程序的特点。

二、实验内容:(由学生选择WinTC或者VC之一完成相关实验)1.运行WinTC程序,进入C程序设计环境。

2.建立工程文件3.编辑源文件4.编译、连接(1)单文件源程序的编译、连接源程序先经过编译,生成目标文件(.obj文件),然后将目标文件进行连接,生成可执行文件(.exe)。

如果编译、连接中发生错误,在Message窗口中显示出错信息,修改错误后,可重新编译、连接。

(2)多文件源程序的编译、连接可以用长的源程序分割成几个文件,分别编译然后生成可执行文件。

此时使用Project菜单。

步骤:第一步:有三个文件f1.c、f2.c、f3.c组成一个完整的C程序,分别建立三个文件,将f1.c、f2.c、f3.c三个文件保存到同一个文件夹中(如d:\tc\project\)。

f1.c:#include "stdio.h"extern a,b;extern max(int x,int y);main(){int e=1,f=2;printf("%d\n",max(a,b));printf("%d\n",max(e,f));}f2.c:int a=3,b=4;f3.c:int max(int x,int y ){return x>y?x:y;}第 2 页C语言程序设计第二步:构造Project文件,在编辑状态下,编辑一个扩展名为.prj的文件,文件的内容为:f1f2f3第三步:构造EXE文件,按F9键即将三个文件编译、连接成一个EXE文件,文件名为wang.exe。

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

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

C语言程序设计上机实验报告学院:机械工程学院班级:机自161213姓名:刘昊学号:20162181310实验时间: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:简单的数据运算和格式字符的输出。

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 语句,学习调试程序。

2023最新-c语言程序设计实验报告【2篇】

2023最新-c语言程序设计实验报告【2篇】

c语言程序设计实验报告【2篇】c语言程序设计实验报告篇一实验名称计算出1000以内10个最大素数之和实验目的1、熟练掌握if、if…else、if…else if语句和witch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。

2、熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。

3、掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。

进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。

实验内容计算并输出1000以内最大的10个素数以及它们的和。

要求:在程序内部加必要的注释。

由于偶数不是素数,可以不考虑对偶数的处理。

虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。

输出形式为:素数1+素数2+素数3+…+素数10=总和值。

算法描述流程图main函数:判断素数:源程序#include#includeint sushu(int n)/* 判断素数的函数*/{int t,i;t=sqrt(n);for(i=2;i=t;i++)if(n%i==0)/* 如果不是素数,返回0 */return 0;return n;/* 如果是素数,返回该数*/}void main(){int i,j=0,n,m=0,a[1000],x;/*clrscr();*/printf(please input a number form 1 to 1000:);scanf(%d,amp;x);if(x==2)/* x=2时的处理*/printf(%dn,x);else if(x=1) /* x在1~1000范围外时的处理*/printf(error!n);else{if(x%2==0)/* x为偶数时,把x变为奇数*/x--;for(i=x;i1;i-=2)/* x为奇数时,做函数计算*/{n=sushu(i);/* 做判断素数的函数调用*/if(n!=0)/* 对素数的处理*/{a[j]=n;/* 把素数由大至小存入数组a[ ]中*/j++;if(j11)m+=n; /* 统计前10个素数之和*/}}if(j10)/* 当素数个数小于10个时,结果输出*/{for(i=0;i{n=a[i];printf(%d,n);printf(+);}printf(2=);printf(%dn,m+2);}else for(i=0;i10;i++)/* 当素数个数大于等于10个时,结果输出*/{n=a[i];printf(%d,n);if(i9)printf(+);else{printf(=);printf(%dn,m);}}}}测试数据分别输入1000、100、10测试。

C程序设计上机实验报告12

C程序设计上机实验报告12

C程序设计上机实验报告12c程序设计实验报告实验名称:结构编程学时安排:2学时实验类别:上机操作型实验要求:1人1组一、实验目的1.2.3.4.掌握结构变量的基本使用方法;掌握结构阵列的基本用法;掌握结构的简单嵌套应用;掌握结构指针的概念,以及结构指针作为函数参数的编程方法。

二、实验设备简介软件需求:visualc++6.0或cfree3.5以上版本硬件要求:对于硬件要求,建议配置奔腾II 450以上的CPU处理器、64MB以上的内存、200MB的可用硬盘空间、CD-ROM驱动器、支持24位真彩色的显示卡、彩色显示器和打印机。

3、实验内容1.定义一个关于年、月、日的结构,并编写函数计算某日是该年中的第几天?要求用结构指针作为函数参数,注意闰年问题。

以下部分程序供参考,可自行改动:structdate{/*日期结构体:包含年月日*/intyear;intmonth;intday;};年度失效日(structdate*pday);Intmain(void){structdatetemp,*PDAY;PDAY=&temp;/*请添加*/}运行结果示例如下:输入年份、月日:202235642.改正程序error09_2.cpp中的错误。

建立一个有n(3到10之间)个学生成绩的结构记录,包括学号、姓名和3门成绩,输出总分最高的学生姓名和总分。

输入输出结果如下所示:n=31zhang7883752wang768077第1页共4页总分最高的学生是沈,得了258分要求把正确的代码(按规范缩进)写入报告,并以注释的方式说明错误原因。

注释示例如下:inti;/*循环控制变量不能定义为double类型*/3.编写程序计算两次之间的时差并返回其值。

时间以小时、分钟和秒表示。

假设两次之间的差异小于24小时。

(可选)提示:先输入两个时间,然后比较两个时间的大小,用大的减去小的。

时间相减从秒开始,如果负数则需位,再减分,最后减小时。

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

C语言程序设计上机实验报告学院:机械工程学院班级:机自161213姓名:刘昊学号:310实验时间: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). 写一个判素数的函数,在主函数输入一个整数,输出是否素数的信息。

四、源程序代码代码1:#include<>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'};fun1(a);fun2(c);}运行结果1:程序分析1:执行两次同样的输出函数。

代码2:#include<>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<>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<>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<>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<> 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<> main(){int i,j,m,n,p=1,o=1,max1,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");}}}max1=a[0][0];for(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;}}}printf("该数组中最大的数为%d\n其位于该数组的第%d行第%d列",max1,p,o);}运行结果3:程序分析3:代码4:#include<>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<>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语言程序设计上机实验报告实验七一、实验名称:字符数组和字符串二、实验目的:学会字符数组的输入/输出和初始化;掌握对字符数组进行连接、复制和比较的函数,掌握对字符数组进行排序的有关算法;了解字符串变量及字符串数组的使用技巧。

相关文档
最新文档