高级语言程序设计实验报告3

合集下载

程序设计实训实验报告(热门20篇)

程序设计实训实验报告(热门20篇)

程序设计实训实验报告(热门20篇)c语言是在国内外广泛使用的一种计算机语言。

其语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。

其功能强大,不仅用在计算机上广泛用在电子,机械等方面上,而且,所有的windows,unix,linux,mac,os/2,无一例外,哪一个不是c 语言写的?很多新型的语言如,c++,java,c,j,perl...都是衍生自c语言。

掌握了c语言,可以说你就掌握了很多门语言。

学习c程序这门课一年了,这是我们学的第一门专业课,在大学里c语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程。

所以作为我这个计算机专业的学生来说当然十分重要,老师在第一节课说过,c语言是计算机的基础,大多数软件都需要用c语言来编写,通过一个年的学习,使我由初步掌握简单的应试知识到完成高难度的深入编程,如我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。

同时,我觉得c语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。

在学习一年c语言的过程中我也在慢慢探索怎样才能学好c语言,并总结了一点经验:要了解c语言就要从语法规为基础来学习起,首先要是要了解它的结构,比如变量,首先要了解变量的定义方式(格式),其意义是什么(定义变量有什么用);其次就是要我要怎么去运用它(我要用什么型式去应用它)。

在c语言的命令行中所有的语句都是有它自己的一定格式和形式出现在我们面前,所以我们在学习某种语句或命令时你首先要了解的就是它的规则是什么、有什么用、怎么实现等。

这些都是语法基础也是c语言的基础如果把它们都了解很好了,那么你编起程序来就很得心应手了。

比如说ifelse和switchcase这两种条件语句都是用来判断执行功能的,那我要什么时侯用if什么时侯用switch呢?如果你很好地了解它们的结构和作用的话那么就知道:若它的条件分支是多个而且条件的值是整数或是一个字符值时就会选switch而不会选if。

高级语言程序设计实验报告 c语言程序设计实验报告 大一 南邮

高级语言程序设计实验报告 c语言程序设计实验报告 大一 南邮
int zhishu(int x)
{
int i;
for (i=2;i<x;i++)
{
if(x%i==0)
{
return 0;
}
if(i>=x)
{
return 1;
}
}
}
void main()
{ int x;
int i;
int j=0;
printf("请输入一正整数:\n");
scanf("%d",&x);
printf("您输入的内容中数字有%d个;\n",j);
}
7:
#include<stdio.h>
int sum(int n)
{ int r=0;
if (n==1)
{
return 1;
}Байду номын сангаас
else
{
r=n+sum(n-1);
return r;
}
}
int fac(int n)
{
int r=1;
if(n==1)
分析:程序运行正常,这里要注意有关细节,比如符号的使用,中英字符的混淆,和连接时文件的问题。
签名:
日期:年月日
4:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49

verilog实验报告

verilog实验报告

verilog实验报告Verilog实验报告引言:Verilog是一种硬件描述语言(HDL),用于设计和模拟数字电路。

它是一种高级语言,能够描述电路的行为和结构,方便工程师进行数字电路设计和验证。

本实验报告将介绍我在学习Verilog过程中进行的实验内容和所获得的结果。

实验一:基本门电路设计在这个实验中,我使用Verilog设计了基本的逻辑门电路,包括与门、或门和非门。

通过使用Verilog的模块化设计,我能够轻松地创建和组合这些门电路,以实现更复杂的功能。

我首先创建了一个与门电路的模块,定义了输入和输出端口,并使用逻辑运算符和条件语句实现了与门的功能。

然后,我创建了一个测试模块,用于验证与门的正确性。

通过输入不同的组合,我能够验证与门的输出是否符合预期。

接下来,我按照同样的方法设计了或门和非门电路,并进行了相应的测试。

通过这个实验,我不仅学会了使用Verilog进行基本门电路的设计,还加深了对逻辑电路的理解。

实验二:时序电路设计在这个实验中,我学习了如何使用Verilog设计时序电路,例如寄存器和计数器。

时序电路是一种具有状态和时钟输入的电路,能够根据时钟信号的变化来改变其输出。

我首先设计了一个简单的寄存器模块,使用触发器和组合逻辑电路实现了数据的存储和传输功能。

然后,我创建了一个测试模块,用于验证寄存器的正确性。

通过输入不同的数据和时钟信号,我能够观察到寄存器的输出是否正确。

接下来,我设计了一个计数器模块,使用寄存器和加法电路实现了计数功能。

我还添加了一个复位输入,用于将计数器的值重置为初始状态。

通过测试模块,我能够验证计数器在不同的时钟周期内是否正确地进行计数。

通过这个实验,我不仅学会了使用Verilog设计时序电路,还加深了对触发器、寄存器和计数器的理解。

实验三:组合电路设计在这个实验中,我学习了如何使用Verilog设计组合电路,例如多路选择器和加法器。

组合电路是一种没有状态和时钟输入的电路,其输出只取决于当前的输入。

C语言实验报告(三)

C语言实验报告(三)

C语言实验报告(三)华北水院高级语言程序设计(c语言)实验报告2022-2022学年第二学期2022年级专业班级:学号:姓名:一、实验题目:循环结构程序设计二、实验目的:(略)三、实验内容1.程序验证(略)2。

程序设计1)找出100-900之间的无暇素数。

所谓无暇素数是指本身为素数,且其逆序数也是素数的数。

例如:113是一个素数,311也是一个素数,113就是无暇素数。

源代码:运行结果:intbsingle100_u900(inTV)/*这是一个用户定义的函数,用于判断它是否是介于100和900之间的素数*/{inti;如果(v%2);elsereturn0;for(i=3;i<=v/2;i+=2)if(v%i);elsereturn0;return1;}voidmain(){inta,b,c,d,e,w;对于(a=101;a<=900;a+=2){c=a/100;d=a/10;e=a;w=100*e+10*d+c;if(bsingle100_900(a)&&bsingle100_900(w))printf(\}}2)编程:用迭代法求一个数的平方根。

平方根的迭代公式如下:xn+1=(xn+A/xn)/2;设置x0=A/2;当迭代相邻两项差的绝对值小于10-5时,迭代结束。

源代码:运行结果:#include#includeintmain(){doublex1,x2,a;intf;Printf(\请输入a:\scanf(\X1=a/2;x2=0;F=0;while(1){x1=(x1+a/x1)/2;if(f)break;如果(abs(x1-x2)<1e-5)f=1;x2=x1;}printf(\}华北水利学院高级语言程序设计(C语言)实验报告2021--2021学年第二学期2021级专业班级:学号:姓名:3)写一个问答游戏。

计算机在10到100之间进行四次运算,每个问题得10分,用户给出答案。

c语言实验报告三答案(完整版)

c语言实验报告三答案(完整版)

实验三循环控制实验课程名:高级语言程序设计(C)专业班级:学号:姓名:实验时间:实验地点:指导教师:一、实验目的和要求1. 熟练掌握用while语句、do while语句和for语句实现循环的方法。

2. 掌握在程序设计中用循的方法实现一些常用算法。

并进一步学习调试程序的方法。

二、实验内容1、任务名称程序c40101.c求1+…+100,填空,实现该功能。

(1、)源代码:#include<stdio.h>int main(){int s,i;s=0;for(i=1;i<=100;i++)s=s+i;printf("1+2+...+100=%d\n",s);return 0;}运行结果:(需要截图)(2、)源代码:#include<stdio.h>int main(){int s=0,i=1;while(i<=100){s+=i;i++;}printf("1+2+...+100=%d\n",s);return 0;}运行结果:运行结果分析:2、任务名称:分别运行这两个程序,若输入7,这两个程序的结果分别是多少?若输入12,这两个程序的结果又分别是多少?比较为什么会有这样的区别?(1、)源代码:#include <stdio.h>void main(){ int i,n,sum=0;scanf("%d",&i);n=i;while(i<=10){ sum+=i;i++;}printf("%d+...+10=%d\n",n,sum);}运行结果:(需要截图)(2、)源代码:#include <stdio.h>int main(){ int i,n,sum=0;scanf("%d",&i);n=i;do{ sum+=i;i++;} while(i<=10);printf("%d+...+10=%d\n",n,sum);return 0;}运行结果:运行结果分析:3、任务名称:下面程序,若输入12345,分析输出结果是多少?源代码:#include <stdio.h>void main( ){ long data;scanf("%ld",&data);while(data){ printf("%ld,",data%10);data=data/10;}}运行结果:(需要截图)运行结果分析:4、任务名称:程序c40104.c 实现求Fibonacci 数列的前n 个数。

高级语言实验报告

高级语言实验报告

一、实验目的1. 熟悉高级编程语言的基本语法和编程环境。

2. 培养良好的编程习惯,提高编程能力。

3. 通过实验,掌握常见编程算法和数据结构的应用。

二、实验环境1. 操作系统:Windows 102. 编程语言:Python3.83. 开发工具:PyCharm三、实验内容1. 编写一个计算阶乘的函数,并实现递归调用。

2. 实现一个简单的冒泡排序算法,对一组随机整数进行排序。

3. 使用面向对象的方法编写一个计算圆面积的类,并测试其功能。

4. 编写一个判断字符串是否为回文的函数,并测试其功能。

四、实验步骤1. 计算阶乘的函数```pythondef factorial(n):if n == 0:return 1else:return n factorial(n-1)```2. 冒泡排序算法```pythondef bubble_sort(arr):n = len(arr)for i in range(n):for j in range(0, n-i-1):if arr[j] > arr[j+1]:arr[j], arr[j+1] = arr[j+1], arr[j] return arr```3. 计算圆面积的类```pythonclass Circle:def __init__(self, radius):self.radius = radiusdef area(self):return 3.14 self.radius 2```4. 判断字符串是否为回文的函数```pythondef is_palindrome(s):return s == s[::-1]```五、实验结果与分析1. 计算阶乘的函数输入:5输出:120分析:通过递归调用,成功计算出5的阶乘。

2. 冒泡排序算法输入:[64, 34, 25, 12, 22, 11, 90]输出:[11, 12, 22, 25, 34, 64, 90]分析:冒泡排序算法成功对随机整数数组进行排序。

高级语言程序设计实验

高级语言程序设计实验

创新源于实践《高级语言程序设计》课程实验教学手册高级语言程序设计课程组实验手册使用及要求实验操作是教学过程中理论联系实际的重要环节,而实验报告的撰写又是知识系统化的吸收和升华过程,因此,实验报告应该体现完整性、规范性、正确性、有效性。

现将实验报告撰写的有关内容说明如下:1、实验前按实验要求手写程序或程序填空,并走查代码,有疑问处标记,上机时在C语言集成开发环境下输入并调试手写程序,分析运行结果。

2、实验结束后填写通过后的源程序和对实验的总结。

3、通过后的源程序可以手写也可以打印粘贴。

实验项目一览表学号:姓名:成绩:实验一熟悉C语言编程环境实验目的:1.熟悉C语言编程环境(VC++、Cfree、Turboc2.0等)2.了解C程序的基本框架3.理解程序调试的思想,能找出并改正C程序中的错误实验内容:1.1 建立自己的文件夹:在磁盘上建立一个文件夹,用于存放自己的C程序1.2 编程示例在屏幕上显示一个短句“Programming in C is fun!”(教师示例,学生模仿并创新,如输出汉字、特除字符等。

学会使用编程环境VC++,启动、编辑、编译、运行、保存、关闭、打开)1.3 编程在屏幕上显示如下网格。

+---+---+| | || | |+---+---+# include <stdio.h>int main(){printf("+---+---+\n");printf("| | |\n");7printf("| | |\n");printf("+---+---+\n");return 0;1.4 调试示例改正下列程序中的错误,在屏幕上显示“Welcome to You !”。

(掌握找错、改错的方法)源程序:# include <stdio.h>int mian(void)//mian改为main{printf(Welcome to You! \n")//括号后加”getchar();return 0;}注:需要修改的语句直接在程序上标注并修改实验总结:学号:姓名:成绩:实验二用C语言编写简单程序实验目的:1.掌握算术表达式和赋值表达式的使用2.掌握基本输出函数的使用3.能够自己编程实现简单的数据处理4. 熟练掌握简单if语句使用5. 熟练掌握for语句的使用6. 掌握简单C程序的查错方法、单步调试实验内容:2.1 调试以下程序,求华氏温度对应的摄氏温度。

C语言实验报告--上海工程技术大学

C语言实验报告--上海工程技术大学

实验报告《高级语言程序设计》2009-2010学年第二学期学院(部)管理学院实验名称高级语言程序设计学号姓名成绩第1次实验实验名称______素数的输出______一、实验目的:1.输出100~200以内的全部素数。

2.联系将输出的数字排的更加整齐。

二、实验内容及步骤:三、运行结果:四、实验心得与体会:将100~200中的全部素数输出并没有太大的难度。

但对于一个初学者来说,将输出的多个数字排列整齐则需要费一些脑筋,至少我是这个样子的。

将结果整齐的输出,充分的体现了C语言的灵活性,和创造者缜密的思维。

第2次实验实验名称______对输入不同的形式的统计______一、实验目的:1.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

2.熟练掌握ASCII代码。

二、实验内容及步骤:三、运行结果:上图为输入“I am a student ,and my number is 031209105 !”其运行后显示的结果为,这句话中拥有:英文字符24个,空格9个,数字9个,其他符号2个。

这个统计,需要用到ASCII码,有几处还是颇有难度的。

我也在这里犯了一个错误。

就是在第十一行中,我最初没有写“c>=48&&c<=57”,而是写的“c>=0&&c<=10”。

也就是说我忘记了将数字也用ASCII码表示了。

这时,我的程序依然能够运行,但是却输不出我想要的结果。

这个问题,我今后将特别注意与之类似的问题,不会再犯类似问题了。

第3次实验实验名称_____ 有关浮点的分析_____一、实验目的:1.有一个分数序列:2/1,3/2,5/3,8/15…,求出这个数列的前20项之和。

2.注意浮点形式的应用,学会正确的运用浮点形式。

二、实验内容及步骤:三、运行结果:这道题一定要注意第三行的定义部分,“a,b,n”都是float型的,尤其是其中的“n”。

因为“n=n+b/a”,若“n”不为float型,则无法将小数部分存进“n”中,将会严重影响运算准确性。

c语言实验报告3

c语言实验报告3

实验一C程序设计入门1.编程输出‚我的信息‛;#include <stdio.h>main(){printf("My Information:\n");printf("姓名:李坤\n性别:女\n专业名称:通信工程\n课程名称:高级语言程序设计实验\n");}2.编程:定义一个名为all的整型变量并为其赋值100。

分别计算all 的两倍及其平方,用文字什么的输出结果;#include <stdio.h>main(){int all=100;int x,y;x=2*all;y=all*all;printf("all的两倍是:%d\n all的平方是:%d\n",x,y);}3.编程求以下表达式的值;#include <stdio.h>#include <math.h>main(){float x;x=23+(pow(16,2)-15)/(9+14);printf("x=%.4f\n",x);}4.编程计算以下表达式的值(要求:分别定义一个int和float类型的变量,计算的结果存入该二变量并输出,分析结果)#include <stdio.h>main(){int x;float y;x=3/2+4/3+5/4+6/5;y=3.0/2+4.0/3+5.0/4+6.0/5;printf("x=%d\ny=%.4f\n",x,y);}实验二数据类型、常量变量及顺序结构程序设计1.输入两个人的身高,计算并输出他们的平均身高。

(结果保留两位小数)#include <stdio.h>main(){float x,a,b;printf("Input the height:");scanf("%f%f",&a,&b);x=(a+b)/2;printf("The average height is:%.2f\n",x);}2。

2010级用高级语言程序设计实验报告quan

2010级用高级语言程序设计实验报告quan

2010级用高级语言程序设计实验报告quan《高级语言程序设计》实验报告实验室名称:班级:学生姓名:学号:指导教师:学期:2009-2010学年上学期实验1 C 程序设计入门一、实验目的1、熟悉C 编程环境2、掌握简单C 程序的编辑、编译和运行方法二、知识要点1、用printf 函数输出指定字符串(转义字符的使用)2、计算并输出表达式的值3、程序书写风格三、实验预习(要求做实验前完成)1、若要在屏幕输出信息,需要用到库函数:2、输出的信息若需换行,需要用到换行符:3、按C 语言语法规则写出下列算法的表达式(1)26乘以49,再除以17:(2)求29除以6的余数:四、实验内容 (要求提供:① 算法描述或流程图② 源程序 )1、编程输出“我的信息”,包括姓名、性别、专业名称和课程名称,格式为:姓名:性别:专业名称:课程名称:2、编程求以下表达式的值:1491516232+-+ 3、编程计算并输出16.8与27.5两个数的和、差、积、商,要求输出界面为:和是:差是:积是:商是:五、实验结果要求写出运行界面并输出运行结果实验2─3 数据类型、常量变量及顺序结构程序设计一、实验目的1、掌握常量和变量的概念以及使用1、掌握变量的定义、赋值与引用2、掌握顺序结构相关语句的使用3、掌握scanf和printf输入、输出数据的方法二、知识要点1、变量与常量概念2、数据输入、输出的格式控制3、标准库函数与头文件的使用4、算术运算与赋值运算5、数据类型转换三、实验预习(要求做实验前完成)1、假如要定义两个整型变量x和y,语句int x y;错在哪里?2、把a的值赋给b,其语句是:3、如果使用语句scanf(“%d%d”,&x,&y);输入8和9两个整数,其输入格式应该是:4、如果使用语句scanf(“%d,%d”,&x,&y);输入8和9两个整数,其输入格式应该是:5、程序中如果要用到库函数sin,则应包含头文件:6、假设x是一个实型变量,语句printf(“%d”,x);错在哪里?7、语句x=10; y=20; printf(“y=%d, x= %d”,x,y); 能否交换x和y的值?四、实验内容(要求提供:①算法描述或流程图②源程序)1、输入两个人的身高,计算并输出他们的平均身高。

C语言实验报告3模板

C语言实验报告3模板

宁夏师范学院数学与计算机科学学院《高级语言程序设计》实验报告实验序号:3实验项目名称:运算符与表达式学号姓名专业、班级12级数应(2)班实验地点指导教师郑利珍时间一、实验目的及要求1、理解常用运算符的意义。

2、掌握C语言表达式的运算规则。

二、实验设备(环境)及要求硬件:PC(PII以上,128M以上内存);软件:Windows XP操作系统、Visual C++ 6.0。

三、实验内容、步骤及结果1、先分析下面的3个表达式的值,再设计测试程序,进行比较和分析int a=5,b=7,c=100,d,e,f;d=a/b*c;e=a*c/b;f=c/b*a;2、分析以下程序,试比较x++与++x之间的区别。

int main(void){int a=5,b=8;printf("a++=%d\n",a++);printf("a=%d\n",a);printf("++b=%d\n",++b);printf("b=%d\n",b);return 0;}3、编写测试程序对这些表达式的值进行比较,并使各表达式在相同的初始条件下执行。

b+a+++ab+(a++)+a)b+a+(++a)b+a+++a++4、分析下列表达式,若有错,改正。

并编写测试程序对这些表达式的值进行比较,各表达式在相同的初始条件下执行。

i,ji+1,j+1i++,j++++i,++ji+ + + + +j四、分析与讨论1、整数除存在什么危险?如何避免这种危险?2、分析a++与++a之间的区别。

3、分析++和—运算符的使用限制。

五、教师评语1.按时完成实验;2.实验内容和实验过程记录完整;3.回答问题完整、正确;4.有关于实验的心得;5.实验报告的撰写认真、报告格式符合要求。

签名:郑利珍日期:2013年月日成绩100。

c语言实验报告

c语言实验报告

《高级语言程序设计》实验指导学院:信息科学与技术学院专业:信息管理与信息系统学期:2010~2011学年第二学期教师:目录实验1 熟悉C语言程序开发环境 (1)1.1 实验目的 (1)1.2 实验预习 (1)1.3 实验任务 (1)实验2 数据描述 (6)2.1 实验目的 (6)2.2 实验预习 (6)2.3 实验任务 (6)实验3 顺序结构程序设计 (10)3.1 实验目的 (10)3.2 实验预习 (10)3.3 实验任务 (10)实验4 选择结构程序设计 (13)4.1 实验目的 (13)4.2 实验预习 (13)4.3 实验任务 (13)实验5 循环结构程序设计 (16)5.1 实验目的 (16)5.2 实验预习 (16)5.3 实验任务 (16)实验6 函数与编译预处理 (22)6.1 实验目的 (22)6.2 实验预习 (22)6.3 实验任务 (22)实验7 数组 (28)7.1 实验目的 (28)7.2 实验预习 (28)7.3 实验任务 (28)实验8综合实验 (33)8.1 实验目的 (33)8.2 实验预习 (33)8.3 实验任务 (33)实验9 指针 (36)9.1 实验目的 (36)9.2 实验预习 (36)9.3 实验任务 (36)实验10 结构体数据类型与链表 (40)10.1 实验目的 (40)10.2 实验预习 (40)10.3 实验任务 (40)实验11 共用体数据类型 (43)11.1 实验目的 (43)11.2 实验预习 (43)11.3 实验任务 (43)实验12 文件 (45)12.1 实验目的 (45)12.2 实验预习 (45)12.3 实验任务 (45)实验13 综合实验 (48)13.1 实验目的 (48)13.2 实验预习 (48)13.3 实验任务 (48)实验1 熟悉C语言程序开发环境院(系):信息科学与技术学院课程名称:高级语言程序设计教师签名:1.1 实验目的1.了解和掌握C语言的主要特点。

《高级语言程序设计》实验报告

《高级语言程序设计》实验报告

合肥师范学院实验报告册2013 / 201 学年第1 学期系别计算机科学与技术系实验课程高级语言程序设计专业班级姓名学号指导教师《高级语言程序设计》实验 班级: 学号: 姓名:-1-实验一 ——VC 工作环境及顺序结构程序设计一、实验目的1. 熟悉VC++的运行环境,掌握运行一个C 程序的基本步骤,包括编辑、编译、连接和运行;2. 理解顺序结构程序方式;3. 了解常用数据类型的输入输出方法;4. 了解C 程序的基本框架,能编写简单的C 程序,了解程序调试;二、实验预习内容在认真阅读教材及实验指导书的基础上,上机前请预习以下内容,并在空白处填写相应的步骤或命令。

1. 输入并运行一个简单、正确的程序。

输入编程示例 “Hello ,World !”程序,即: # inc lude “stdio.h” int main(void) {printf("Hello ,World !\n"); return 0; }1) 参考实验指导书P223~P233,学习C 程序的编辑、编译、运行,熟悉VC++6.0的基本界面操作。

2) 修改本例,使用printf ()输出自己的个性化签名,保存到文件ex1_1.c 中。

2. 程序改错题:# include stdio.h int mian(void) {printf( Welcome to You! \n" ) return 0;1) 分析本程序段中哪些地方存在错误?请标记出来,并给出修改意见。

2) 输入上面程序(或打开error1_2.c ),学习程序调试。

3. 程序阅读题:1) 请分析下面程序(ex1_3.c )运行结果是什么? # include <stdio.h> int main(void){ char c1,c2 ; c1=97; c2=98; printf( "c1=%c,c2=%c \n", c1, c2 ); printf( "c1=%d,c2=%d \n", c1, c2 ); return 0; } 运行结果是: 2) 若将程序第4,5行改为c1=197;c2=198;运行结果又如何?并简单分析。

设计整数类1

设计整数类1

《高级语言程序设计II 实验》实验报告三学生姓名: 班级: 学号:一 问题描述定义一个集合类,有如下的功能: (1)输出两个集合的交集 (2)输出两个集合的并集(3)判断一个元素是否属于这个集合 (4)往集合里插入一个元素 (5)判断两个集合是否相等 二、实验环境在codeblock,等编译环境下都能用。

二 程序设计 (此处占分最重,请尽量详细描述) // 描述如何设计程序的文件结构,各文件中主要内容,对于自定义类可用UML 图描述各个类的接口 如:1. 文件结构及类描述test1.cpp vehicle.h2.主要算法描述;jh jh::operator >(jh &q) {int j,k;if(i!=q.i)//两个集合个数不相等 {q.flag=0; }if(i==q.i)//两个集合个数相等 {for(j=0;j<i;j++) {Vehicle 接口实现jh operator -(jh &p); jh operator +(jh &m); jh operator <(int y); jh operator >(jh &q); jh operator *(int u) ~jh(){};V oid showdeng();//show V oid show(); void showcha(); void showshu()void jh::showcha() void jh::showshu() jh jh::operator *(int u) void jh::showdeng() jh jh::operator >(jh &q) jh::jh(int q)jh jh::operator <(int y) jh jh::operator -(jh &p) jh jh::operator +(jh &m) void jh::show()主函数main()jh p(3),y(4); (p-y).show(); (p+y).show(); (p<3).showcha(); jh q(3),w(3);(q>w).showdeng(); (q*8).showshu(); return 0;for(k=0;k<q.i;k++){if(a[j]!=q.a[k])//如果第一个集合的元素和第二个集合的元素不相等{q.flag=0;}else if(a[j]==q.a[k])//如果第一个集合的元素和第二个集合的元素相等,就填出循环{q.flag=1;break;}}if(q.flag==0)//如果第一个集合中的某元素和第二个集合中任意一个都不相等,那就跳出整个循环{break;}}}return q;}三程序代码#include <iostream>using namespace std;class jh{public:jh(int q);jh(){i=0;};jh operator -(jh &p);//算出这两个集合的交集jh operator +(jh &m);//算出这两个集合的并集jh operator <(int y);//插入一个元素jh operator >(jh &q);//判断两个集合是否相等jh operator *(int u);//判断这个元素是否属于这个集合~jh(){};void showdeng();//show出两个集合是否相等void show();//输出集合的元素void showcha();//show出插入元素是否属于这个集合或者show插入之后的新集合void showshu();//show出这个元素是否属于这个集合private:int a[100],i,flag;//flag用于多出的判断};void jh::showcha(){int j;if(flag==0){cout<<"此集合已存在此元素"<<endl;}if(flag==1){cout<<"新集合为S={";i++;//通过i++来限制新加元素能否输出for(j=0;j<i;j++){cout<<a[j]<<",";}cout<<"}"<<endl;}}void jh::showshu(){if(flag==1){cout<<"这个元素属于这个集合"<<endl;}if(flag==0){cout<<"这个元素不属于这个集合"<<endl;}}jh jh::operator *(int u){int j;jh b;for(j=0;j<i;j++){if(u==a[j]){b.flag=1;break;//找到这个元素与集合的任何一个元素相等之后终止循环}else if(u!=a[j]){b.flag=0;//此元素不属于这个集合通过flag来表示}}return b;}void jh::showdeng(){if(flag==0){cout<<"这两个集合不相等"<<endl;}if(flag==1){cout<<"这两个集合相等"<<endl;}}jh jh::operator >(jh &q){int j,k;if(i!=q.i)//两个集合个数不相等{q.flag=0;}if(i==q.i)//两个集合个数相等{for(j=0;j<i;j++){for(k=0;k<q.i;k++){if(a[j]!=q.a[k])//如果第一个集合的元素和第二个集合的元素不相等{q.flag=0;}else if(a[j]==q.a[k])//如果第一个集合的元素和第二个集合的元素相等,就填出循环{q.flag=1;break;}}if(q.flag==0)//如果第一个集合中的某元素和第二个集合中任意一个都不相等,那就跳出整个循环{break;}}}return q;}jh::jh(int q)//集合的构造函数{int j;i=q;for(j=0;j<i;j++){cout<<"输入集合的元素a["<<j<<"]:"<<endl;cin>>a[j];}}jh jh::operator <(int y){int j;jh b;b.i=i;b.a[b.i]=y;//把这个元素先给集合bfor(j=0;j<i;j++){b.a[j]=a[j];//把集合中的元素给b}for(j=0;j<i;j++){if(y==a[j])//判断插入的集合是否属于集合{b.flag=0;break;}else{b.flag=1;}}return b;}jh jh::operator -(jh &p){int j,k;jh b;for(j=0;j<i;j++){for(k=0;k<p.i;k++){if(a[j]==p.a[k])//找出两个集合中相等的元素{b.a[b.i]=a[j];b.i++;}}}return b;}jh jh::operator +(jh &m){jh b;int k,j,flag=2;for(j=0;j<i;j++){for(k=0;k<m.i;k++){if(a[j]==m.a[k])//先剔除两个集合中相同的元素{flag=1;break;}}if(flag==2){b.a[b.i]=a[j];//把不相等的元素存入b集合中b.i++;}}for(k=0;k<m.i;k++){b.a[b.i]=m.a[k];(b.i)++;}return b;}void jh::show(){int j;cout<<"此集合为a["<<i<<"]"<<"={";for(j=0;j<i;j++){cout<<a[j]<<",";}cout<<"}"<<endl;}int main(){jh p(3),y(4);(p-y).show();(p+y).show();(p<3).showcha();jh q(3),w(3);(q>w).showdeng();(q*8).showshu();return 0;}四程序运行结果五实验总结// 描述实验过程中遇到的困难及解决办法;描述程序存在的不足及可能的改进方案;(1)灵活运用break语句;(2)在定义集合类的构造函数时要有一个无参数的来实现返回值;(3)在写集合的交集并集时解决私有成员i++的问题;(4)在插入一个元素和判断一个元素是否属于该集合时要注意简便的算法;(5)不能忘记写析构函数;(6)对运算符重载的符号运用不灵活。

《高级语言程序设计》实验报告高级语言程序设计

《高级语言程序设计》实验报告高级语言程序设计

《高级语言程序设计》实验报告高级语言程序设计《高级语言程序设计》课程实验报告专业:软工程年级:17级姓名:**学号:20XX42060220教师:***日期:20XX.10.1 ** 民族大学目录一、实验目的3 二、任务与要求3 三、主要标识符及数据结构4 四、问题分析与算法设计6五、程序运行与测试实例11 六、问题与总结15 附录(源代码)15一、实验目的1、掌握新学习的线性表操作。

2、加深对书写代码的流畅度。

二、任务与要求1、问题描述l题目1:设计一种用单链表存储多项式的结构(每个结点存储一项的系数和指数,类型都为int)并编写一个产生多项式链表的函数和一个实现两个多项式相加和相乘的函数。

l题目2:试将本章介绍的两种josephus问题的求解过程在计算机中实现,实现时要求输出的不是整数,而是实际的人名。

、l 题目3:2、设计达到的要求l 能正确的输出题目的要求结果。

l 能正确使用线性表。

三、主要标识符及数据结构说明:1、描述清楚自己所用的标识符,格式如标识符数据类型含义第一题 ptrNode struct node 用于typedef 转换 Coefficient 、Exponentint 指数和系数 head、r、pLinkList 用于生成结点以及遍历链表在函数(LinkList creatList(int n))内 ha, hb Position 在函数LinkListadd_List(LinkList a, LinkList b)内完成多项式相加操作c,r,p; LinkList 在函数LinkList add_List(LinkList a, LinkList b)内完成多项式相加操作 ha, hb Position 在函数LinkList mul_List(LinkList a, LinkList b)内完成多项式相乘c,tempC,r,p LinkList 在函数LinkList mul_List(LinkList a, LinkList b)内完成多项式相乘 hc LinkList 在函数void printList(LinkList L)遍历链表进行输出链表操作 n1,n2 int 在主函数中需要输入每个多项式的项数 L1,L2,L3,L4 LinkList 在主函数中接受调用的函数的返回值第二题标识符数据类型含义 DataType struct Person 结构体数据类型 typedef struct Node* PNode; LinkList struct Node 结构体数据类型typedef struct Node* LinkList PLinkList LinkList typedef LinkList* PLinkList p、q、PNodePNode类型指针在函数int init_clist(PLinkList pclist, int n)内 p, pre PNode PNode类型指针在函数voidjosephus_clist(PLinkList pclist, int s, int m)内 x、y、z int循环表总人数x、第y个人开始数、第z个人出局josephus LinkList LinkList类型指针在主函数中的第三题标识符数据类型含义 Plist Data struct List 结构体数据类型 number、nameChar一个存放电话号、一个存放姓名next struct List struct List内的指针变量 Plist data del、p、tpList中间变量 count int 用作计算个数四、问题分析与算法设计1、问题分析说明:分析程序题目与要求,详细说明程序的设计思想。

[2017年整理]C语言结构体实验报告

[2017年整理]C语言结构体实验报告

《高级语言程序设计》实验报告实验序号:8 实验项目名称:结构体四、分析与讨论对上机实践结果进行分析,上机的心得体会。

1. #include<stdio.h>struct student{int num;char name[20];char classname[20];float score[3];float aver_score;}stu[5];void input(){int i;for(i=1;i<6;i++){ printf("第%d个同学",i);printf("请输入学号名字班级三门课程成绩:\n");scanf("%d %s %s %f %f %f",&stu[i].num,stu[i].name,stu[i].classname,&stu[i].score[1],&stu [i].score[2],&stu[i].score[3]);}};void averagescore(){for(i=1;i<=5;i++)stu[i].aver_score=((stu[i].score[1]+stu[i].score[2]+stu[i].score[3])/3);printf("平均成绩:");for(i=1;i<6;i++)printf("第%d个同学的平均成绩%f:\n",i,stu[i].aver_score);printf("\n");};void max(){int i,k=0;float temp=stu[1].aver_score;for(i=2;i<=5;i++)if(stu[i].aver_score>temp) {temp=stu[i] .aver_score;k=i;};printf("成绩最好的同学:\n");printf("%d %s %s %4.2f %4.2f %4.2f %4.2f\n",stu[k].num,stu[k].name,stu[k].classname,stu[k].score[1],stu[k].score[2],stu[k].score[3],stu[k].aver _score);};void main(){input();averagescore();max();}2.#include <stdio.h>struct worker{char name[20];int workyear;float salary;}work[5];void input(){int i;for(i=1;i<=5;i++){printf("第%d个工人:",i);printf("请输入名字工作年限工资总额:\n");scanf("%s %d %f",&work[i].name,&work[i].workyear,&work[i].salary);};void main( ){int i;input();printf("初始化5名职工的信息:\n");for(i=1;i<=5;i++)printf("%s %d %f \n",work[i].name,work[i].workyear,work[i].salary);for(i=1;i<=5;i++)if(work[i].workyear>30) work[i].salary+=100;printf("最后5名职工的信息工:\n");for(i=1;i<=5;i++)printf("%s %d %f \n",work[i].name,work[i].workyear,work[i].salary);}3.#include <stdio.h>struct years{int year;int month;int date;}ye;int data[12]={31,28,31,30,31,30,31,31,30,31,30,31};void main( ){ int i,sum=0;int leap=0;printf("请输入改天的年月日:\n");scanf("%d %d %d",&ye.year,&ye.month,&ye.date);if(((ye.year%4)==0)&&((ye.year%100)!=0)) leap=1;if(((ye.year%4)==0)&&((ye.year%400)==0)) leap=1;if(leap=1) data[1]=29;for(i=0;i<(ye.month-1);i++){sum+=data[i];}sum+=ye.date;printf("\nit is the %d day.\n",sum); }测量学试卷 第 8 页(共 7 页)《测量学》模拟试卷1.经纬仪测量水平角时,正倒镜瞄准同一方向所读的水平方向值理论上应相差(A )。

C语言实验报告初识C语言与C编程环境

C语言实验报告初识C语言与C编程环境
*************************************
四、实验结果与数据处理
例题1-4
三3.
五、分析与讨论
初次上机接触winXP感觉迷茫,许多操作不熟练,需与同学讨论,经常犯习惯性错误,还得多加练习!
六、教师评语
签名:
日期:
成绩
附源程序பைடு நூலகம்单:
《高级语言程序设计》实验报告
实验序号:1实验项目名称:初识C语言与C编程环境
一、实验目的及要求
1.了解C语言程序的特点
2.掌握简单的C语言程序结构
3.熟练掌握运行C程序的步骤和方法
二、实验设备(环境)及要求
Turbo 2.0或相近的环境
三、实验内容与步骤
1.熟悉Turbo 2.0运行环境。
2.编译链接并运行P5例题1-4,熟悉所用系统的上机方法和步骤。
3.输入下列源程序,进行修改、编译、连接和运行。运行的结果是什么?
程序:# include <stdio.h>
main ( )
{
printf("Hello World \n");
}
请参上例题,编写一个C程序,输出以下信息:
*************************************
Very good!

实验报告3

实验报告3
p=a=m=50000; q=b=n=-60000;
p=32768;q=40000;
printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);
printf("f=%15.6f,g=%15.12f\nm=%ld,n=%ld\n,p=%u,q=%u\n",f,g,m,n,p,q);
l=2*PI*r;
s1=PI*r*r;
s2=4*PI*r*r;
v1=PI*r*r*r*4/3;
v2=r*r*PI*h;
printf("%5.2f,%5.2f,%5.2f,%5.2f,%5.2f\n",l,s1,s2,v1,v2);
return 0;
}
3-3.c
#include<stdio.h>
#include<math.h>
}
2.设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。编程序,用scanf输入数据,输出计算结果。输出时要有文字说明,取小数点后两位数字(第3章第7题)。
3.计算存款利息(第3章第2题)。
有1000元,想存5年,可按以下5种办法存:
①一次存5年期。
②先存2年期,到期后将本息再存3年期。
m=50000;n=-60000;
p=32768;q=40000;
printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);
printf("f=%15.6f,g=%15.12f\nm=%ld,n=%ld\n,p=%u,q=%u\n",f,g,m,n,p,q);

高级语言程序设计实验报告

高级语言程序设计实验报告

高级语言程序设计实验报告实验一选择结构程序设计班级 179 学号 2011179 姓名一、实验目的1、熟悉VC6.0编程环境。

2、进一步熟悉用VC6.0调试C语言源程序的过程。

3、熟练使用关系表达式和逻辑表达式作为if语句的条件判断。

4、熟练掌握if语句和switch语句的使用方法。

二、实验内容及步骤1、身高预测每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后身高的因素有遗传、饮食习惯与坚持体育锻炼等。

小孩成人后身高与其父母身高和自身性别密切相关。

设faHeight为其父身高,moHeight为其母身高,身高预测公式为:男性成人时身高 = (faHeight + moHeight) * 0.54(cm)女性成人时身高 = (faHeight * 0.923 + moHeight) / 2(cm)此外,如果喜爱体育锻炼,那么可增加身高2%,如果有良好的卫生饮食习惯,那么可增加身高1.5%。

编程从键盘输入小孩的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M 表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示喜爱,输入字符N表示不喜爱),利用给定公式和身高预测方法对小孩的身高进行预测。

程序代码:#include"stdio.h"#include"conio.h"main(){char sex,sports,diet;double faHeight,moHeight,height;printf("请输入性别(M表示男/F表示女)\n");scanf("%c",&sex);printf("请输入父亲身高和母亲身高\n");scanf("%lf%lf",&faHeight,&moHeight);printf("是否喜欢体育锻炼?(Y/N)\n");sports=getche();printf("\n");printf("是否有良好的饮食习惯?(Y/N)\n");diet=getche();printf("\n");if(sex=='F'||sex=='f')height=(faHeight*0.923+moHeight)/2;if(sex=='M'||sex=='m')height=(faHeight+moHeight)*0.54;if(sports=='Y'||sports=='y')height=1.02*height;if(diet=='Y'||diet=='y')height=1.015*height;printf("这个孩子成人后的身高为%lf厘米\n",height);}设计多组测试数据对程序进行测试,并观察运行结果。

高级语言程序设计实验报告

高级语言程序设计实验报告

高级语言程序设计实验报告一、引言高级语言程序设计是计算机科学与技术专业的一门重要课程,它旨在培养学生的编程能力和解决实际问题的能力。

在这门课程中,学生需要学习一种或多种高级语言,如C++、Java等,并通过实验来巩固所学知识。

本文将对高级语言程序设计实验进行总结和分析,以期提高学生的编程水平和实践能力。

二、实验目的高级语言程序设计实验的目的是让学生通过实际操作,掌握高级语言的基本语法和常用编程技巧。

具体目的如下:1. 熟悉高级语言的开发环境和常用工具;2. 掌握基本的数据类型和变量定义;3. 理解程序的控制结构和函数的使用;4. 学会使用数组、字符串和指针等数据结构;5. 掌握常用的文件操作和异常处理技巧;6. 培养编程思维和解决实际问题的能力。

三、实验内容高级语言程序设计实验的内容包括以下几个方面:1. 编写简单的程序,如输出"Hello World!"等;2. 实现基本的算术运算,如加减乘除等;3. 使用条件语句和循环语句解决实际问题;4. 设计和实现函数,实现代码的重用;5. 使用数组和字符串处理数据;6. 进行文件的读写操作;7. 添加异常处理,提高代码的健壮性。

四、实验步骤高级语言程序设计实验的步骤如下:1. 分析问题,明确需求;2. 设计程序的算法和数据结构;3. 编写源代码,实现算法;4. 运行程序,测试功能和正确性;5. 调试代码,修复错误;6. 进行性能优化,提高程序效率;7. 编写实验报告,总结实验过程和结果。

五、实验案例下面以一个简单的实验案例来说明高级语言程序设计的过程。

假设我们要编写一个程序,实现输入两个数,计算它们的和并输出。

具体步骤如下:1. 设计算法,明确输入和输出的数据类型;2. 在程序中定义变量,用于存储输入和输出的数据;3. 使用输入函数,获取用户输入的两个数;4. 使用计算函数,计算两个数的和;5. 使用输出函数,将结果输出到屏幕上;6. 运行程序,测试功能和正确性;7. 调试代码,修复错误;8. 编写实验报告,总结实验过程和结果。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
for(j=1;j<=2*i-1;j++)
printf("%2c",'*');
printf("\n");
}
for(i=3;i>=1;i--)
{for(j=1;j<=(4-i)+14;j++)
printf("%2c",' ');
for(j=1;j<=2*i-1;j++)
printf("%2c",'*');
printf("\n");
}
return 0;
}
题(5):
编译程序打印所有的水仙花数。所谓的水仙花数是指一个三位数,其个位数的立方和等于概述本身。
#include<stdio.h>
int main()
{
int a,b,c,k;
for(k=100;k<=999;k++)
{a=k/100;
b=(k-100*a)/10;
if(prime)
printf("%d is a prime\n ",x);
else
printf("%d is not a prime\n",x);
}
return 0;
}
exp3_2AB5.c:
#include "stdio.h"
#include <math.h>
main()
{
int a,b,m,i,k,h=0,leap;
要求谦和两次输出的X的差的绝对值小于1E-5
#include<stdio.h>
#include<math.h>
int main()
{
float a,x1,x2,dx;
scanf("%f",&a);
x1=a;
do
{ x2=x1;
x1=(x1+a/x1)/2.0;
dx=fabs(x1-x2);
}while(dx>=1E-5);
#include<math.h>
int main()
{
int i;
double sum=0.0;
int sign=1;
for(i=2;fabs(sum-(sum-sign*1.0/i))>=1E-6;i++)
{ sum=sum+sign*1.0/(i-1);
sign=-sign;
}
printf("%lf%d\n",sum,i);
(3)、利用vc++6.0的调试器跟踪、调试程序,会设置断点、单部跟踪,查看相应的变量或表达式的值,帮助理解循环、选择结构程序执行过程并能查找、修改逻辑错误。
二、实验步骤
题(1):
利用while、for、do while循环语句计算求和问题:
Exp3-1.c:
#include<stdio.h>
int main()
c=k%10;
if(k==(a*a*a+b*b*b+c*c*c))
printf("%3d\n",k);
}
return 0;
}
三、实验过程原始记录(数据、图表、计算等)
实验一截图:
实验二截图:
题三截图:
题4截图

题5截图
四、实验结果及分析
通过该试验的学习我了解了循环语句的使用,了解循环的条件以及相应的过程。
printf("请输入要查找素数的范围:\n");
scanf("%d %d",&a,&b);
while(a<10||a>b||b>1000)
{
printf("输入数据有误,请重新输入");
scanf("%d %d",&a,&b);
}
for(m=a;m<=b;m++)
{
leap=1;
k=sqrt(m+1);
if(prime)
printf("%d is a prime\n ",a);
else
printf("%d is not a prime\n",a);
return 0;
}
exp3_2AB.c:
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,x,i,k,prime=1;//prime用来说明是不是质数
可以利用循环输出不同的图案,利用循环输出一系列的求和判断的情况等等。
签名:
年月日
printf("%d\n",i);
return 0;
}
题(2):
编程序先利用一层循环判断莫一个从键盘读入整数是否为只质数,在此基础上,在加上外层循环,找出规定范围(a,b)内所有的的质数,并按每行五个的格式输出。
exp3_2.c:
#include<stdio.h>
#include<math.h>
int main()
printf("%f\n",x1);
return 0;
}
题(4)、
编程序利用循环嵌套输出菱形:
exp3_4.c:
#include<stdio.h>
int main()
{
int i,j;
for(i=1;i<=4;i++)
{for(j=1;j<=(4-i)+14;j++)
printf("%2c",' ');
{
int i;
double sum=0;
int sign=1;
for(i=1;i<=1000;i++)
{ sum=sum+sign*1.0/(i);
sign=-sign;
}
printf("%lf\n",sum);
return 0;
}
Exp3-1InputN.c:
#include<stdio.h>
int main()
scanf("%d%d",&a,&b);
for(x=a;x<=b;x++)
{
if(x<=0)
{printf("Input error!\n");
return 0;
}
if(x==1)
prime=0;
k=(int)sqrt(x);
for(i=2;prime&&i<=k;i++)
if(x%i==0)
prime=0;
for(i=2;i<=k;i++)
if(m%i==0)
{
leap=0;
break;
}
if(leap)
{
printf("%-5d",m);
h++;
if(h%5==0)
printf("\n");
}
}
getchar();
}
题(3):
编程序用迭代法求x= ,其中a>=0。求平方根的迭代公式:
Xn+1=1/2(Xn+a/Xn)
{
int a,b,x,i,k,prime=1;
scanf("%d",&a);
if(a<=0)
{printf("Input error!\n");
return 0;
}
if(a==1)
prime=0;
k=(int)sqrt(a);
for(i=2;prime&&i<=k;i++)
if(a%i==0)
prime=0;
{
int i,n;
double sum=0;
scanf("%d",&n);
int sign=1;
for(i=1;i<=n;i++)
{ sum=sum+sign*1.0/(i);
sign=-sign;
}
printf("%lf\n",sum);
returnቤተ መጻሕፍቲ ባይዱ0;
}
exp3_1Next.c
#include<stdio.h>
高级语言程序设计实验报告
班级:65姓名:马大鹏学号:********
课程名称
高级语言程序设计
实验项目
初识VC++6.0上机环境
及顺序结构编程练习
实验项目类型
验证
演示
综合
设计
指导教师
李养群
成绩
一、实验目的
(1)、正确使用while、for、do—while语句实现循环结构,掌握循环条件的设定。
(2)、会利用循环潜逃条件实现比较复杂的程序控制,理解循环嵌套程序的执行过程和条件的变化。
相关文档
最新文档