C实验报告7参考答案

合集下载

c语言实验报告(附答案版)

c语言实验报告(附答案版)
二、实验目的
1、熟练掌握while,do—while,for语句实现循环的方法,包括如何正确地设定循环条件,如何控制循环的次数。
2、掌握break语句与continue语句的使用方法。
3、熟悉循环的嵌套以及从循环体内退出循环的处理。
4、理解什么是循环程序结构。
三、实验指导
为了达到最佳的实验效果,以下提供几条适于模块化编程的指导意见,可供参考。
实验1简单判定性问题求解
一、实验学时
完成本实验需4学时。
二、实验目的
1、阅读程序题
(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型的变量,以及对它们赋值的方法;
(2)掌握不同的类型数据之间赋值的规律;
(3)掌握数据在内存中的存储方式;
(4)学会输入、输出函数的基本格式和使用方法;
(5)学会使用有关算术运算符、逻辑运算符、关系运算符,以及包含这些运算符的表达式。
1)解题分析:解决问题的关键算法为求圆的面积并按要求输出。循环求圆的面积area,若area<40,则用continue语句提前结束本次循环并开始新一轮循环,若area>90,则用break语句跳出循环。
2)算法流程图如图2-1:
3)综合分析
需要从循环体中提前跳出循环,或者在满足某种条件下,不执行循环中剩下的语句而立即从头开始新的一轮循环,这时就要用到break和continue语句。
(1)将一个百分制成绩转换成等级制成绩,百分制与等级制的对应关系如下表:
百分制
90-100
80-89
70-79
60-69
<60
等级制





具体要求如下:
1)用switch语句实现该功能;

C语言程序设计实验实验报告7

C语言程序设计实验实验报告7

C语言程序设计实验实验报告7实验名称:链表实现学生信息管理系统实验目的:通过设计链表实现学生信息管理系统,掌握链表的操作方法及其应用。

实验内容:设计一个学生信息结构体,包括学号、姓名、性别、年龄和成绩五个成员变量,并选择链式结构存储这些数据。

实现以下功能:1. 添加学生信息:从键盘输入学号、姓名、性别、年龄和成绩等信息,添加到链表中。

2. 删除学生信息:从链表中删除指定学号的学生信息。

5. 按成绩排序:按学生的成绩从高到低排序,并输出所有学生的信息。

7. 退出程序:退出学生信息管理系统。

实验方法:1. 设计学生信息结构体,定义链表节点结构体,并编写初始化链表和销毁链表的函数。

2. 编写添加学生信息函数,新建链表节点并插入链表末尾。

3. 编写删除学生信息函数,根据学号查找需要删除的节点,先将该节点从链表中删除,再释放节点空间。

4. 编写修改学生信息函数,根据学号查找需要修改的节点,并修改其成员变量。

6. 编写按成绩排序函数,使用冒泡排序法对链表进行排序,并输出所有学生的信息。

7. 编写输出所有学生信息函数,遍历链表并输出每个节点的信息。

8. 完成学生信息管理系统的主函数,实现菜单及相应功能的选择。

实验结果:依次选择菜单中的各个功能,添加、修改、删除、查找、排序和输出学生信息都能实现。

经测试,程序稳定运行,功能正常,符合需求。

本次实验主要让我们掌握了链式结构的概念、链表节点的定义、链表的初始化、插入、查找、删除和销毁链表的操作方法,以及在实际应用中如何使用链表来实现数据管理。

虽然链表操作相对于数组稍微有些繁琐,但其可以灵活处理数据结构的长度变化,具有更高的可扩展性和更好的操作效率,可以更好的适应各种实际需求。

在实验中,还需要注意节点指针的正确使用、各个函数之间的调用关系和输入输出数据格式的合理选择等问题,以保证程序能够正常运行。

同时,还需要保持认真细致的态度,严格按照实验需求和要求来完成每个步骤,以达到更好的实验效果和运行效率。

c#实习7报告

c#实习7报告

实验七:流程控制实验目的:1.掌握C#顺序结构2.掌握C#选择结构if 语句和switch 语句的使用3.掌握C#循环结构的使用实验内容:1. 输入整数n (n>=0),分别利用for 循环、while 循环、do...while 循环求n !。

2.利用级数和求П。

使用格里高利公式求П的近似值,直到最后一项的绝对值不小于10-6为止。

...-9171-5131-14++≈∏ 3.利用嵌套循环打印如下图所示的呈下三角和呈上三角的九九乘法表。

4.素数的判断。

利用for 循环显示1~100间所有的素数。

要求每行显示10项。

效果如图所示:}}}第2题:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace P1_2{class Program{static void Main(string[] args){int c=1;double b, m = 0,a;for (a = 1, b = 1; (Math.Abs(b)) >= (Math.Pow(10, -6)); ) {m = m + b;a += 2;c=-c;b =c / a;}Console.WriteLine("П的近似值为:{0}", 4* m);}}}第3题:(1)using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace P1_3{class Program{static void Main(string[] args){Console.WriteLine("\t\t\t九九乘法表");int i, m;for (i = 1; i <= 9; i++){for (m = 1; m <= i; m++){Console.Write("{0}*{1}={2}\t", i, m, i * m); }Console.WriteLine();}}}}(2)using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace P1_3{class Program{static void Main(string[] args){Console.WriteLine("\t\t\t\t九九乘法表");int i, m,k;for (i = 1; i <= 9; i++){for (k = 1; k <= i; k++){Console.Write("\t");}for (m = i; m <= 9; m++){Console.Write("{0}*{1}={2}\t", i, m, i * m); }}}}}第4题:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace P1_4{class Program{static void Main(string[] args){Console.WriteLine("1~100之间所有素数为:");Console.Write("2\t");int i,m;for (i = 1; i <= 100; i += 2){for (m = 2; m <= i; m++){if (i % m == 0)break;}if (m==i)Console.Write("{0}\t", i);}}}}评语:。

C语言实验报告数组

C语言实验报告数组

实验七数组1.实验目的(1)熟练掌握一维数组、二维数组的定义、初始化和输入/输出方法;(2)熟练掌握字符数组和字符串函数的使用;(3)掌握与数组有关的常用算法如查找、排序等..2.实验指导(1)对任意一个一维型数组;从中找出数组元素的最大值和最小值并输出..要求:①数组有十个元素;②使用scanf函数实现数组元素的输入前给出必要的提示;③输出时;首先输出数组的十个元素;然后输出其最大值和最小值..分析指导:①算法分析:首先定义一个数组;通过循环从键盘输入十个数组元素的值;再通过另一个循环判断数组元素的最大只和最小值;②根据分析情况编写程序:include<stdio.h>mainint a10;i;max;min;printf"please input ten integers:";fori=0;i<=9;i++{scanf"%d";&ai;}max=a0;min=a0;fori=1;i<=9;i++{ifai>maxmax=ai;ifai<minmin=ai;}fori=0;i<=9;i++{printf"a%d=%d\n";i;ai;}printf"The maximum value is %d;and the minimum value is %d\n";max;min;运行程序;输入十个整数;如:21 37 6 17 9 12 89 76 35 59运行结果如下:(2)编写函数cmpStrchar s1;char s2比较两个字符串s1和 s2的大小..如果s1>s2;返回一个正数;s1=s2;返回0;s1<s2;返回一个负数;在主函数中调用该函数完成字符串的比较操作;并输出返回的值..要求:①不允许使用strcmp函数;②用gets函数在主函数中输入两个字符串;③实现触摸屏受托人函数;返回的正数或负数的绝对值应该是进行比较的两个字符传中相应字符的ASCII码的差值..分析指导:①算法分析:两个字符串从第一个字符开始一一对应进行比较;直到不相等的那个字符;从而求得它们的ASCII码的差值..比如;‘A’与‘C’相比;由于‘A’<‘C’;应输出负数;由于‘A’与‘C’的ASCII码的差值为2;因此;应输出“-2”..同理;“And”和“Aid”比较;根据第二个字符比较结果;‘n’比‘I’大5;因此应输出‘5’;②根据分析情况编写程序:include<stdio.h>int cmpstrchar s1;char s2{int i;diff;i=0;whiles1i==s2i&&s1i='\0'i++;ifs1i=='\0'&&s2i=='\0'diff=0;elsediff=s1i-s2i;return diff;}void main{int z;char s1100;s2100;printf"input the first string:";//输入字符串1gets s1;printf"input the second string:";//输入字符串2getss2;z=cmpstrs1;s2;//输出比较结果printf"the difference between two strings is %d\n";z;}查看运行结果如下:重新输入两个字符串meet;mood运行结果如下:(3)再给定的字符串中查找指定的字符..要求:①字符串采用直接初始化的方式处理;②通过scanf函数读入一个任意字符;③在字符串中查找该字符;如果存在该字符;输出该字符在字符串中的一次出现的位置;如果再给定的字符串中不存在该字符;则给出相应的说明信息..include<stdio.h>void main{int i;char ch;char s=" program";printf" 输入一个英文字母: ";scanf"%c";&ch;for i=0;si='\0';i++{if si==chbreak;}if i<7printf"s%d=%c\n";i;ch;elseprintf"No founded\n";}输入一个英文字母O运行程序如下:再次输入一个英文字母w运行程序如下:(4)首先输入一个大于二且小于十的整数n;然后定义一个二维整型数组nn;初始化该数组;讲述组中最大元素所在的行和最小元素所在的行对调..要求:①nn数组元素的值由scanf函数从键盘输入假定最大值最小值不在同一行上;然后输出该数组;②查找最大值最小值所在的行;将数组中最大元素所在的行和最小元素所在的行对调;并输出对调后的数组;③为直观起见;数组按n行n列的方式输出;④修改程序;对最大值与最小值可能出现在一行种的情况进行处理.. include<stdio.h>main{long matrix99;min;max;temp;int i;j;n;nMax=0;nMin=0;printf"\nplease inpute n of matrix:\n";scanf"%d";&n;printf"\nplease inpute elements of matrix%d%d:\n";n;n; fori=0;i<n;i++forj=0;j<n;j++scanf"%ld";&matrixij;min=max=matrix00;fori=0;i<n;i++forj=0;j<n;j++{ifmatrixij>max{max=matrixij;nMax=i;}else ifmatrixij<min{min=matrixij;nMin=j;}}forj=0;j<n;j++{temp=matrixnMaxj;matrixnMaxj=matrixnMinj;matrixnMinj=temp;}printf"\nResult matrix:\n";fori=0;i<n;i++{forj=0;j<n;j++printf"%5ld";matrixij;printf"\n";}}输入一个数4;输入一个44的数组1 3 6 72 4 5 81 3 5 72 6 9 7运行程序如下:再次输入一个数字3;输入一个33的数组1 2 32 4 537 8运行程序如下:3 实验结论通过本次实验熟练的掌握一维数组、二维数组的定义、初始化和输入/输出方法以及字符数组和字符串函数的使用;还有就是掌握与数组有关的常用算法。

c 实验报告7

c  实验报告7

c 实验报告7实验报告7:C 语言程序设计实验摘要:本实验报告旨在介绍C语言程序设计实验的过程和结果。

在本次实验中,我们使用了C语言编程语言,通过编写程序来实现各种功能。

在实验过程中,我们学习了C语言的基本语法和编程技巧,掌握了如何使用C语言进行程序设计和开发。

通过本次实验,我们对C语言程序设计有了更深入的了解,并且提高了我们的编程能力。

引言:C语言是一种通用的高级编程语言,广泛应用于系统软件和应用软件的开发中。

它是一种结构化的语言,具有丰富的表达能力和灵活的特性。

在本次实验中,我们将运用C语言来实现一些基本的功能,以加深对C语言的理解和掌握。

实验目的:1.了解C语言的基本语法和编程技巧2.学习如何使用C语言进行程序设计和开发3.提高编程能力,加深对C语言程序设计的理解实验材料和方法:在本次实验中,我们使用了C语言编程语言,并且通过编写程序来实现各种功能。

我们使用了一台配备C语言编译器的计算机,以及相应的开发环境和工具。

在编写程序的过程中,我们遵循了C语言的基本语法规则,并且运用了各种编程技巧。

实验结果:在本次实验中,我们成功地编写了一些C语言程序,实现了一些基本的功能。

我们学会了如何定义变量、使用控制结构、编写函数等等。

我们还学会了如何调试程序,发现并解决程序中的错误。

通过实验,我们对C语言程序设计有了更深入的了解,并且提高了我们的编程能力。

讨论:通过本次实验,我们对C语言程序设计有了更深入的了解,掌握了C语言的基本语法和编程技巧。

我们学会了如何使用C语言进行程序设计和开发,提高了我们的编程能力。

在今后的学习和工作中,我们将继续加强对C语言的学习和应用,不断提高自己的编程水平。

结论:通过本次实验,我们对C语言程序设计有了更深入的了解,掌握了C语言的基本语法和编程技巧。

我们学会了如何使用C语言进行程序设计和开发,提高了我们的编程能力。

在今后的学习和工作中,我们将继续加强对C语言的学习和应用,不断提高自己的编程水平。

C程序设计实验报告(答案)

C程序设计实验报告(答案)

C程序设计实验报告(答案)《C程序设计》实验报告班级:学号:学期:2009--2010学年第⼆学期姓名:《C程序设计》实验报告学期:2009--2010学年第⼆学期教师姓名:教研室:软件⼯程教研室实验1 熟悉C语⾔程序的运⾏环境,掌握数据描述1.1 实验⽬的1.了解在开发环境中如何编辑、编译、连接和运⾏⼀个C语⾔程序。

2.通过运⾏简单的C语⾔程序,初步了解C语⾔程序的结构特点。

3.掌握C语⾔数据类型的概念,学会使⽤C语⾔的相关运算符构成表达式。

1.2 实验预习1.熟悉Turbo C的启动和退出及Turbo C中的编辑、编译、连接和运⾏命令。

2.了解下列命令及函数:include、main、printf、scanf。

3.熟悉Turbo C环境下每个菜单项的功能及相关命令对应的操作。

4.各种数据类型变量的定义形式及取值范围;熟悉下列标识符的含义。

int、short (int)、long (int)、unsigned (int)、float、double、char、void 5.各类运算符的优先级和结合规则。

6.常量与变量的区别和联系。

表1-1 Turbo C主菜单项功能表表1-2 Turbo C提⽰⾏功能表表1-3 Turbo C快捷操作表4.熟悉Turbo C环境下的块操作。

表1-4 基本光标命令功能操作表表1-5 快速光标移动命令功能操作表表1-6 插⼊与删除命令功能操作表表1-7 块操作命令功能操作表表1-8 其他命令功能操作表1.3 实验任务1.输⼊下列程序,记录在Turbo c 下的操作⽅法。

#includemain(){printf(“I am a student!”);}环境的启动操作:我的电脑—磁盘(各机房磁盘⽬录有所不同)—Turbo C⽂件夹—tc。

Exe 。

程序的编译⽅法:快捷键是 Alt+F9 ;菜单操作是Compile—compile to OBJ程序的保存⽅法:快捷键是 F2 ;菜单操作是 File--Save程序的运⾏⽅法:快捷键是Ctrl+F9;菜单操作是 Run运⾏结果的查看:快捷键是 Alt+F5 ;菜单操作是 Run—User Screen环境的退出操作:快捷键是 Alt+X ;菜单操作是 File--Quit4.现欲将编好的上例程序以⽂件名my.c保存⾄当前⽬录下,请阐述⽅法;当重新进⼊TC对其进⾏简单修改后欲将其另存⾄C 盘SY⽂件夹下(SY⽂件夹请⾃⾏创建),叙述⽅法。

c语言实验7数组实验报告

c语言实验7数组实验报告

实验报告课程名称程序设计实验项目名称数组班级与班级代码14级计算机科学与技术1班实验室名称(或课室) SS1-332专业计算机科学与技术任课教师学号:姓名:实验日期:2014年月日广东商学院教务处制一.实验目的1.熟练掌握一维数组、二维数组的定义、赋值、输入、输出方法。

2.熟练掌握字符数组和字符串函数的使用。

3.熟练掌握一位数组以及一位数组元素的存储关系。

4.熟练掌握一位数组和二维数组的使用以及在函数中的传递。

5.通过上机实践掌握与数组有关的算法。

二、实验内容上机题1输入并运行以下程序。

实验内容:用2个数组对第3个数组进行赋值#include<stdio.h>main(){int i,a[5],b[5],c[5];a[0]=2,a[1]=6,a[2]=4,a[3]=8,a[4]=9;b[0]=2,b[1]=7,b[2]=9,b[3]=5,b[4]=3;for(i=0;i<=4;i++){c[i]=a[i]*b[i];printf("c[%d]=%d\n",i,c[i]);}}实验步骤○1int a[5]:整型一维数组说明,a是数组名,也是数组的起始地址,该数组可以存储5个整数。

a[0]~a[4]也可以看成是变量标识字符,[]中的数值称为数组下标,下标从0开始。

○2数组赋值方法和一般变量一样。

例如,a[0]=2表示将2赋给a[0]。

运行结果上机题2 输入并运行以下程序。

实验内容:对不指明数组的数组进行赋值并用循环结构进行求和#include<stdio.h>main(){int sum,i;int a[]={5,8,4,6,4,3,8,2,4,5,6};sum=0;for(i=0;i<=10;i++)sum+=a[i];printf("sum=%d\n",sum);}实验结果实验小结○1对全部元素赋初值时,可以不指定数组长度,C编译系统自动根据初值个数来决定数组长度。

实验报告7—数值积分

实验报告7—数值积分

标题:积分方程的数值积分计算1.实验描述:数值积分最突出的优点是它可以计算无法解析求解的积分问题。

根据节点的选择方法可将数值积分分为常见的:组合梯形公式法、组合辛普生公式法、龙贝格积分法、自适应积分法、高斯—勒让德积分法。

本实验利用5种方法计算同一积分,通过误差分析比较各种方法的优缺点。

2.实验内容:计算320sin(4)x x e dx -⎰,并进行误差分析。

具体内容如下: 1.用组合梯形公式10M =计算。

2.用组合辛普生公式5M =计算。

3.用龙贝格积分计算,本次实验中采用4阶公式(4,4)R 计算。

4.用自适应积分方法计算,本次实验中起始容差:0=0.00001ζ。

5.用5点高斯—勒让德积分计算。

通过误差分析比较各种方法的优缺点。

3.实验原理及分析:数值积分的目的是:通过在有限采样点上计算()f x 在区间[,]a b 上的定积分。

设01...M a x x x b =<<<=,若有:()[][]ba f x dx Q f E f =+⎰,其中[]Q f 形如:0[]()Mk k k Q f w f x ==∑,则称[]Q f 为面积公式,[]E f 为截断误差,0{}M k k x =为面积节点,0{}M k k w =为权。

根据节点{}k x 的选择方法可将积分方法分为:组合梯形公式法、组合辛普生公式法、龙贝格积分法、自适应积分法、高斯—勒让德积分法。

下面着重介绍5种方法的原理:①组合梯形公式法及误差分析:设等距节点k x a kh =+,0,1,...,k M =将区间划分为宽度为b a h M-=的M 个子区间,M 个子区间的组合梯形积分公式有3种等价表示方法: 11(,)(()())2Mk k k h T f h f x f x -==+∑011(,)=(2...2)2M M h T f h f f f f -++++ 11(,)(()())()2M k k h T f h f a f b h f x -==++∑ ②组合辛普生公式法误差分析:设等距节点k x a kh =+,0,1,...,2k M =将区间分为2M 个宽度为2b a h M-=的子区间,2M 个子区间的组合辛普生积分公式也有3种等价表示方法:222121(,)(()4()())3Mk k k k h S f h f x f x f x --==++∑ 012322212(,)(424...24)3M M M h S f h f f f f f f f --=+++++++ 12211124 (,)(()())()()333M Mk k k k h h h S f h f a f b f x f x --===+++∑∑ ③龙贝格积分法及误差分析:龙贝格积分法是利用理查森外推法来提高精度的,下面给出一般公式:4(,1)(1,1)(,)41K K R J K R J K R J K ----=- 其中J K ≥ (,0)()R J T J =,为梯形公式;(,1)()R J S J =,为辛普生公式;(,2)()R J B J =,为布尔公式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
scanf("%s",s); if(function(s)) {printf("%s 是回文\n",s);count++;} else printf("%s 不是回文\n",s); } printf("共有回文%d 个\n",count); } (3)编写一函数,实现将一个十进制数转换成二进制数。程序以文件名 sy7_9.c 存盘。 #include <stdio.h> int n=0; void tentotwo(int number,int b[ ]) { while(number) {
}
(2)下列程序的功能为:将字符数组中的字符串逆序输出。纠正程序中存在的错误,
以实现其功能。程序以文件名 sy7_2.c 存盘。
#include<string.h>
#include<stdio.h>
#define ARR_SIZE = 80;
#define ARR_SIZE 80
void Inverse(char str[])
t[d+i]=s[i] ;
t[2*d]='/0' ;
t[2*d]='\0'
}
main( )
{
char s[100], t[100];
printf( " Please enter string s : " );
scanf("%s" , s );
sub(s,t) ;
printf( " \n The result is : %s \n ", t );
b[n]=number%2; number=number/2; n++; } } void main(void) { int inumber; int a[20],i; printf("please input nunber: "); scanf("%d",&inumber); printf("\n"); tentotwo(inumber,a ); for(i=n-1;i>=0;i--) printf("%d",a[i]); printf("\n"); }
strTemp[j]!=’\0’
main()
{ srcStr[i] = strTemp[j];
{
i++;
char string[MAX];
j++;
scanf("%s",string);
srcStr[i] = ' ';
Insert( string );
i++;
printf("%s",string);
}
void Inverse(char str[]);
main()
{ char a[ARR_SIZE] ;
printf("Please enter a string: ");
gets(a);
Inverse(char a[]);
Inverse(a);
printf ("The inversed string is: ");
result = sum( x+i1, i2-i1+1 );
printf( "Sum=%d\n", result );
}
(2)下列程序的功能为:输入一个字符数小于 100 的字符串 string,然后将 string 所存
盘字符串中的每个字符之间加一个空格。补充完善程序,以实现其功能。程序以文件名
sy7_5.c 存盘。
(1)下列 sub 函数的功能为:将 s 所指字符串的反序和正序进行连接形成一个新串放
在 t 所指的数组中。例如,当 s 所指字符串的内容为“ABCD”时,t 所指数组中的内容为
“DCBAABCD”。纠正程序中存在的错误,以实现其功能。程序以文件名 sy7_1.c 存盘。
#include <stdio.h>
int i; int y=strlen(x); for(i=0;i<y/2;i++)
if(x[i]!=x[l-i-1]) return 0;
return 1; } void main() {
char s[100]; int count=0,i; for(i=1;i<=5;i++) { printf("输入第%d 个字符串:",i);
任意整数和下标 i1、i2 的值(设 1≤i1≤i2≤9),调用 sum()函数计算从第 i1 元素到第 i2 元
素的和,并输出结果。补充完善程序,以实现其功能。程序以文件名 sy7_4.c 存盘。
#include <stdio.h>
int sum( int x[], int n )
{
int i, s=0;
scanf("%d",&a[i]); printf("调整前的数组元素为:");
for(i=0;i<N;i++) printf("%5d",a[i]);
printf("\n"); EXmaxmin(a,N); printf("调整后的数组元素为:");
for(i=0;i<N;i++) printf("%5d",a[i]);
#include<stdio.h>
{ char strTemp[MAX];
#include<string.h>
int i = 0, j = 0;
#define MAX 100
strcpy(strTemp, srcStr);
void Insert(char srcStr[]);
while ( j<MAX )
for ( i=0; i<n ; i++ )
s = s+x[i] ;
return s;
}
void main()
{
int i, i1, i2, result;
int x[10];
for ( i=0; i<10; i++ )
scanf( "%d", &x[i] );
scanf( "%d%d", &i1, &i2 );
{ int n,i;
int f=0;
int f=1;
printf("input member: ");
scanf("%d",&n);
for(i=1;i<=n;i++)
f=f*fun(i);
f= fun(i);
printf("%d!=%d\n",n,f);
}
2.程序填空题
(1)下列 sum()函数的功能是:计算数组 x 前 n 个元素之和。在主函数中,输入 10 个
#include<stdio.h> #define N 10 void EXmaxmin(int a[],int n) //求最大数和最小数 {
int i,j=0,k=0,t; int max,min; max=a[0]; min=a[0]; for(i=1;i<n;i++)
if(max<a[i]) {max=a[i];j=i;} else if(min>a[i]) { min=a[i]; k=i;} t=a[j]; a[j]=a[k]; a[k]=t; } void main() { int i; int a[N]; printf("请输入%d 个整数:",N); for(i=0;i<N;i++)
puts(a);
}
void Inverse(char str[])
{ int len, i = 0, j;
char temp;
len = strlen(str);
for (j=len-1; i<j; i++, j--)
{ temp = str[i];
str[j] = str[i];
str[i] = str[j];
} (2)编写一函数,判断一字符串是否为回文。所谓“回文”是指顺读和倒读都一样的 字符串,如“deed”和“level”是回文。在主函数中对输入的 5 个字符串统计其中回文的个 数。程序以文件名 sy7_8.c 存盘。
#include <stdio.h> #include <stdlib.h> int function(char x[]) {
str[j] = temp;
}
}
(3)下列程序的功能为:求整数 n 的阶乘。纠正程序中存在的错误,以实现其功能。
程序以文件名 sy7_3.c 存盘。
#include<stdio.h>
int fun(int n)
{ static int p=1;
int p=1;
p=p*n;
return p;
}
void main()
《高级语言程序设计》实验报告
班级:
学号:
姓名:
成绩:
实验 7 函数. 掌握函数实参与形参的传递方式。 3. 掌握函数的嵌套调用和递归调用的方法。 4. 了解全局变量和局部变量、动态变量、静态变量的概念和使用方法。
二、实验内容
相关文档
最新文档