C语言实验报告 C

合集下载

c语言实验报告实验

c语言实验报告实验

c语言实验报告实验C 语言实验报告实验一、实验目的本次 C 语言实验的主要目的是通过实际操作和编程实践,加深对 C 语言基本语法、数据类型、控制结构、数组、指针等重要概念的理解和掌握,提高编程能力和解决实际问题的能力。

二、实验环境本次实验使用的编程环境为 Visual Studio 2019,操作系统为Windows 10。

三、实验内容1、基本数据类型和运算符的使用定义不同类型的变量,如整数型(int)、浮点型(float、double)、字符型(char)等,并进行赋值和运算操作。

熟悉各种运算符的优先级和结合性,包括算术运算符(+、、、/、%)、关系运算符(>、<、>=、<=、==、!=)、逻辑运算符(&&、||、!)、位运算符(&、|、^、~、<<、>>)等。

2、控制结构的应用使用ifelse 语句实现条件判断,根据不同的条件执行相应的代码块。

运用 switch 语句进行多分支选择,处理不同的情况。

利用 for 循环、while 循环和 dowhile 循环实现重复执行的操作,例如计算数列的和、打印特定的图案等。

3、数组和字符串的操作定义和使用一维数组、二维数组,进行数组元素的访问、赋值和遍历。

掌握字符串的存储和处理方式,使用字符数组和字符串函数(如strlen、strcpy、strcmp 等)进行字符串的操作。

4、指针的应用理解指针的概念和指针变量的定义,通过指针访问变量和数组元素。

实现指针与数组、指针与函数的结合使用,体会指针在程序中的灵活运用。

5、函数的定义和调用编写自定义函数,实现特定的功能,如计算阶乘、判断素数等。

掌握函数的参数传递方式(值传递和地址传递),理解函数的返回值。

6、结构体和共用体的使用定义结构体类型,创建结构体变量,访问结构体成员。

了解共用体的概念和使用场景,比较结构体和共用体的区别。

四、实验步骤1、实验准备打开 Visual Studio 2019 开发环境,创建一个新的 C 语言项目。

c语言综合实验报告

c语言综合实验报告

c语言综合实验报告C语言综合实验报告引言:C语言是一门广泛应用于计算机科学领域的编程语言,具有高效、灵活和可移植等特点。

在本次实验中,我们将通过综合实验来探索C语言的各种特性和用法。

本报告将详细介绍实验的目的、设计思路、实验过程、结果分析以及对C 语言的理解和应用。

一、实验目的本次综合实验旨在通过实践,加深对C语言的理解和应用。

具体目标包括:1. 熟悉C语言的基本语法和数据类型;2. 掌握C语言的输入输出操作;3. 理解和运用C语言的控制结构和函数;4. 实现一个简单的C语言项目,提升编程能力。

二、设计思路在本次实验中,我们选择了一个简单而实用的项目——学生成绩管理系统。

该系统可以实现学生信息的录入、查询、修改和删除等功能。

通过这个项目,我们能够全面运用C语言的各种特性和用法。

三、实验过程1. 定义结构体:首先,我们需要定义一个学生的结构体,包含学号、姓名和成绩等信息。

通过结构体,我们可以方便地对学生信息进行管理和操作。

2. 实现录入功能:接下来,我们编写一个函数,实现学生信息的录入。

通过用户输入学生的学号、姓名和成绩,我们可以将这些信息存储到结构体数组中,并将其保存到文件中。

3. 实现查询功能:为了方便查找学生信息,我们编写了一个查询函数。

该函数可以根据学号或姓名来查找学生信息,并将结果显示在屏幕上。

4. 实现修改功能:当需要修改学生信息时,我们可以调用修改函数。

该函数可以根据学号或姓名找到对应的学生信息,并允许用户修改学生的姓名和成绩。

5. 实现删除功能:最后,我们编写了一个删除函数,用于删除指定学生的信息。

用户只需要输入学号或姓名,系统就可以找到对应的学生并将其从结构体数组中删除。

四、结果分析经过实验,我们成功实现了学生成绩管理系统。

该系统具备录入、查询、修改和删除等功能,能够方便地管理学生的信息。

通过这个实验,我们不仅掌握了C语言的各种特性和用法,还提升了编程能力。

五、对C语言的理解和应用通过本次实验,我们对C语言有了更深入的理解和应用。

c语言大实验报告

c语言大实验报告

c语言大实验报告C 语言大实验报告一、实验目的本次 C 语言大实验的主要目的是通过实际的编程项目,深入巩固和应用 C 语言的基础知识,提高编程能力和解决实际问题的能力。

具体而言,包括熟练掌握数据类型、控制结构、函数、数组、指针等核心概念,并能够运用它们构建较为复杂的程序逻辑。

二、实验要求1、完成一个具有一定规模和功能的 C 语言程序,例如学生成绩管理系统、图书管理系统等。

2、程序应具备良好的代码结构和可读性,遵循编程规范。

3、实现数据的输入、处理和输出功能,能够进行数据的存储和查询。

4、对程序进行充分的测试,确保其稳定性和正确性。

三、实验环境1、操作系统:Windows 102、编程工具:Visual Studio 2019四、实验内容本次实验我选择开发一个学生成绩管理系统,该系统能够实现学生成绩的录入、查询、修改、删除以及成绩统计分析等功能。

(一)数据结构设计为了存储学生的信息,我定义了一个结构体`Student` ,包含学生的学号、姓名、各科成绩等字段:```ctypedef struct {int id;char name50;float score3; //假设存储三门课程的成绩} Student;```同时,使用一个动态数组来存储多个学生的信息:```cStudent students;int numStudents = 0; //记录学生数量```(二)功能模块实现1、成绩录入通过循环让用户输入学生的信息,包括学号、姓名和各科成绩,并将其添加到动态数组中:```cvoid inputStudent(){Student newStudent;printf("请输入学号:");scanf("%d",&newStudentid);printf("请输入姓名:");scanf("%s", newStudentname);printf("请输入三门课程的成绩:");for (int i = 0; i < 3; i++){scanf("%f",&newStudentscorei);}students =(Student )realloc(students, (numStudents + 1) sizeof(Student));studentsnumStudents++= newStudent;}```2、成绩查询根据用户输入的学号,在动态数组中查找对应的学生信息并输出:```cvoid queryStudent(){int id;printf("请输入要查询的学号:");scanf("%d",&id);for (int i = 0; i < numStudents; i++){if (studentsiid == id) {printf("学号:%d\n", studentsiid);printf("姓名:%s\n", studentsiname);printf("成绩:");for (int j = 0; j < 3; j++){printf("%2f ", studentsiscorej);}printf("\n");return;}printf("未找到该学号的学生信息!\n");}```3、成绩修改先查询要修改的学生信息,然后让用户输入修改后的成绩:```cvoid modifyStudent(){int id;printf("请输入要修改的学号:");scanf("%d",&id);for (int i = 0; i < numStudents; i++){if (studentsiid == id) {printf("请输入修改后的三门课程成绩:");for (int j = 0; j < 3; j++){scanf("%f",&studentsiscorej);printf("修改成功!\n");return;}}printf("未找到该学号的学生信息!\n");}```4、成绩删除根据学号删除指定的学生信息,并重新调整动态数组:```cvoid deleteStudent(){int id;printf("请输入要删除的学号:");scanf("%d",&id);int found = 0;for (int i = 0; i < numStudents; i++){if (studentsiid == id) {found = 1;for (int j = i; j < numStudents 1; j++){studentsj = studentsj + 1;}numStudents;students =(Student )realloc(students, numStudents sizeof(Student));printf("删除成功!\n");return;}}if (!found) {printf("未找到该学号的学生信息!\n");}}```5、成绩统计分析计算所有学生的平均成绩,并输出最高和最低成绩:```cvoid statistics(){float totalScore = 0;float maxScore = students0score0;float minScore = students0score0;for (int i = 0; i < numStudents; i++){float sum = 0;for (int j = 0; j < 3; j++){sum += studentsiscorej;}totalScore += sum / 3;if (sum / 3 > maxScore) {maxScore = sum / 3;}if (sum / 3 < minScore) {minScore = sum / 3;}}printf("平均成绩:%2f\n", totalScore / numStudents);printf("最高成绩:%2f\n", maxScore);printf("最低成绩:%2f\n", minScore);}```(三)主函数在主函数中,通过菜单的方式让用户选择要执行的操作:```cint main(){int choice;while (1) {printf("1、录入成绩\n");printf("2、查询成绩\n");printf("3、修改成绩\n");printf("4、删除成绩\n");printf("5、成绩统计分析\n");printf("6、退出\n");printf("请选择操作:");scanf("%d",&choice);switch (choice) {case 1:inputStudent();break;case 2:queryStudent();break;case 3:modifyStudent();break;case 4:deleteStudent();break;case 5:statistics();break;case 6:free(students);return 0;default:printf("无效的选择,请重新输入!\n");}}return 0;}```五、实验结果经过多次测试,本系统能够稳定运行,实现了预期的各项功能。

c语言实验报告

c语言实验报告

c语言实验报告C语言实验报告一、引言C语言作为一种高级程序设计语言,具有简洁、高效、灵活的特点,在计算机科学领域得到广泛应用。

本实验报告旨在总结我对C语言实验的学习和理解,并介绍实验过程中遇到的问题和解决方法。

二、实验目的本次实验的主要目的是通过实践掌握C程序设计的基本语法和常用操作,培养编程思维和解决问题的能力。

具体实验要求包括熟悉C语言的数据类型、运算符、循环语句和函数定义等内容,并能够应用这些知识解决实际问题。

三、实验内容本次实验包括以下几个部分:变量的定义与使用、条件语句的应用、循环语句的运用、数组的定义与使用、函数的定义与调用以及实验总结等。

1. 变量的定义与使用在C语言中,可以使用关键字“int”、“float”、“char”等定义不同类型的变量。

变量是计算机程序中存储数据的基本单元。

在本次实验中,我通过定义不同类型的变量,并进行赋值和运算等操作,来加深对变量的理解和掌握。

2. 条件语句的应用条件语句在程序设计中起到了判断和选择不同执行路径的作用。

在C 语言中,可以使用“if”、“else if”、“else”等关键字来实现条件语句的控制。

通过实验,我学会了如何根据不同的条件执行不同的代码块。

3. 循环语句的运用循环语句是程序中重复执行某段代码的结构,能够提高程序的灵活性和效率。

在C语言中,我掌握了“for”、“while”、“do while”等不同类型的循环语句的使用方法,并在实际问题中进行了应用。

4. 数组的定义与使用数组是一种存储相同数据类型多个元素的容器。

在C语言中,可以通过定义数组名和下标位置来访问和操作数组中的元素。

通过实验,我深入了解了数组的索引范围、元素的访问以及数组在程序中的应用。

5. 函数的定义与调用函数是一段封装了特定功能的代码块,可以提高程序的模块化和可维护性。

在C语言中,我学会了如何定义函数并传递参数,以及通过函数调用来实现特定功能。

四、实验过程及结果在实验过程中,我采用了自上而下的方法,先分析问题,再逐步实现代码。

C语言实训总结报告范文(通用5篇)

C语言实训总结报告范文(通用5篇)

C语言实训总结报告范文(通用5篇)在经济飞速发展的今天,报告的适用范围越来越广泛,报告包含标题、正文、结尾等。

一听到写报告马上头昏脑涨?以下是小编整理的C语言实训总结报告范文,仅供参考,希望能够帮助到大家。

C语言实训总结报告篇1这个星期,我们迎来了C语言实训——一次至为重要的实训。

在这个星期里,同学们都很认真的做着那20多道实训题目,遇到不懂的互相请教,或请问老师。

非常感谢老师对我们的帮助,这次实训使我受益匪浅,收获了很多。

通过C语言实训,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。

不过,通过几天的实训,逐渐积攒了一些经验,有些错误可以很快就看出来。

这次实训有很大的收获,让我对C语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。

如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对C语言有了浓厚的兴趣和更深层的认识。

C语言是一个有序的学习,学了最基本的替换,然后扩展到循环,嵌套,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,不过通过实训我也知道了自己的不足,存在的很多问题。

比如自己写的写的小程序出了问题,不会解决了就叫老师帮忙,虽然说一定意义上增加了师生之间的感情,但是会养成一种依赖的心理,碰到问题了第一个想到的是求助而不是自己独立解决,所以以后要多多锻炼自己的信心和增加自己的能力,争取做到老师不在身边的时候也可以完成一些简单的程序编写与错误排除。

还有自己的基础知识不扎实,遇到的问题,没有很好的逻辑思维,亲自编写一个陌生的程序的时候会有种无法下手的感觉,找不到突破口。

通过实训,逐渐理清了顺序,对于简单的程序和一些相对比较繁琐的嵌套,循环,不在是看着一头雾水。

c语言实习报告3篇

c语言实习报告3篇

c语言实习报告3篇c语言实习报告1在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。

在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。

由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。

包括了程序模块处理.简单界面程序.高级界面程序.程序的添加修改.用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。

上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。

对于程序设计语言的.学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。

学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。

因为学时所限,课程不能安排过多的上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。

为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。

课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1.加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。

然而要使用c语言这个工具解决实际问题,又必须掌握它。

通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。

对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。

学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。

c语言实验报告

c语言实验报告

c语言实验报告一、实验目的本次实验的目的是为了帮助学生掌握C语言的基本语法和常用函数的使用方法,提高学生的C语言编程水平。

具体内容包括C 语言输入输出、分支结构、循环结构、数组、字符串等方面的知识。

二、实验原理C语言是一种高级程序设计语言,能够进行程序设计与系统编程。

C语言使用简洁的语法和强大的功能,可实现不同规模的程序设计,从简单的小程序到大型系统应用都可以实现。

C语言程序的基本结构为:头文件、主函数、变量定义、语句表达式等。

C语言的输入输出函数有scanf和printf等,分支结构有if、else等,循环结构有for、while、do-while等,数组和字符串是C语言中非常重要的数据结构。

三、实验过程本次实验我们编写了一个简单的C语言程序。

主要包括以下几个部分:1. 引用头文件我们使用了stdio.h头文件,它包含了输入输出函数的声明。

2. 定义变量我们定义了一个整型变量num,它用来存储从键盘输入的一个整数。

3. 输入输出函数我们使用了scanf函数来从键盘输入一个整数,并将其存储在变量num中。

然后使用了printf函数来输出这个整数。

4. 分支结构我们使用了if、else语句来判断变量num的值,如果它是正数,就输出“这是一个正数”,否则输出“这是一个负数”。

5. 循环结构我们使用了for循环来输出变量num的前n个数,n是从键盘输入的。

这样可以更好地理解循环结构的使用方法。

6. 数组我们定义了一个整型数组arr,用来存储从键盘输入的n个整数。

然后使用for循环来遍历数组,并使用printf函数输出每个元素的值。

7. 字符串我们定义了一个字符数组str,用来存储从键盘输入的一个字符串。

然后使用printf函数输出这个字符串。

四、实验结果经过编译和运行,我们得到了以下实验结果:请输入一个整数:5这是一个正数。

请输入一个整数:-3这是一个负数。

请输入一个整数:3请输入一个整数n:50 1 2 3 4请输入n个整数:1 2 3 4 51 2 3 4 5请输入一个字符串:hello worldhello world五、实验总结通过本次实验,我们学习了C语言的基本语法和常见函数的使用方法。

c语言课程实验报告

c语言课程实验报告

c语言课程实验报告C语言课程实验报告引言:C语言作为一门广泛应用于计算机科学领域的编程语言,具有简洁高效的特点,被广泛用于系统软件、嵌入式设备等领域。

在C语言课程中,我们进行了一系列的实验,旨在通过实践提升我们的编程能力和理解C语言的各种特性。

本报告将对我们进行的实验进行总结和分析。

实验一:基本语法和数据类型在第一次实验中,我们学习了C语言的基本语法和数据类型。

通过编写简单的程序,我们熟悉了C语言的变量定义、运算符、控制语句等基本概念。

同时,我们也了解了C语言中常用的数据类型,如整型、浮点型、字符型等,并学会了如何进行类型转换和输入输出操作。

实验二:数组和字符串处理在第二次实验中,我们深入学习了C语言中的数组和字符串处理。

通过编写程序,我们掌握了数组的定义、初始化和访问方法,了解了一维数组和多维数组的特点。

同时,我们也学会了使用C语言提供的字符串处理函数,如strlen、strcpy、strcat等,实现字符串的复制、连接和比较等操作。

实验三:函数和指针第三次实验是函数和指针的学习。

我们学习了如何定义和调用函数,了解了函数的参数传递和返回值的相关知识。

同时,我们也深入研究了指针的概念和用法,掌握了指针的声明、初始化和使用方法。

通过实验,我们发现指针在C语言中具有重要的作用,可以提高程序的效率和灵活性。

实验四:文件操作和结构体在第四次实验中,我们学习了C语言中的文件操作和结构体。

通过使用文件读写函数,我们能够实现对文件的读取和写入操作,实现数据的永久存储。

同时,我们也学会了定义和使用结构体,实现对复杂数据的封装和处理。

这些知识对于实际项目的开发非常重要。

实验五:动态内存分配和链表在第五次实验中,我们学习了动态内存分配和链表的使用。

通过使用malloc和free函数,我们能够在程序运行时动态分配和释放内存,提高了内存的利用效率。

同时,我们也学会了使用链表数据结构,实现对数据的动态存储和管理。

链表在数据结构和算法中有着广泛的应用,对于解决实际问题非常有帮助。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}} int main() { char text[10]={'a','b','c','d','e','f','g','h','m','o'};
int i,n=10; for(i=0;i<n;i++) { printf("%c ",text[i]); } printf("\n"); printf("倒序为:\n"); reverse(text); }
} return 1; } main() { int r; r = isprime(5); printf("%d\n",r); r = isprime(8); printf("%d\n",r); }
(3)写一个函数 reverse( char s[]),将字符串 s[]中的字符串倒序输出。试分别用递归和非
返回零值。
(3)写一个函数 reverse( char s[]),将字符串 s[]中的字符串倒序输出。试分别用递归和非递
归两种形式编写。
(4)写一个主函数输入测试数据(自己指定),并调用上述函数,检查函数功能的正确性。
(5)一个数如果从左到右和从右到左读,数字是相同的,则称这个数字为回文数,比如 898、
找来实现这一查找过程。
提示:采用二分法求解本问题的基本思路是:设数列为 a1,a2,…,an,被查找的数为 x, 则查找首先对 am(m = ( n + 1 ) / 2)进行,于是得到三种情形。
若 x > am,则 x 只可能在区间[am + 1 , an] 若 x < am,则 x 只可能在区间[a1 , am - 1]

if(hw(i)) { if(isprime(i)==1) { cnt++; } } } printf("\n 合计:%d 个\n",cnt); } int isprime(int n) { int i=2; while(i<=sqrt(n)) {
if(n%i==0) return 0; i++; } return 1; } int hw(int n) { int m=0; int t=n; while(t) { m=m*10+t%10; t/=10; } return m==n; }
递归两种形式编写。
void reverse( char s[]) { int n; n=strlen(s);
if(n==1) { printf("%c ",s[0]); return }
printf("%c ",s[n-1]); s[n-1]='\0'; reverse(s); } 非递归:
void reverse( char s[]) { int n; int i,j; char temp; n=strlen(s); if(n==1) { printf("%c ",s[0]); return } for(i=0;i<n;i++) { temp=s[i]; s[i]=s[n-1-i]; s[n-1-i]=temp; } for(i=0;i<n;i++) { printf("%c ",s[i]); } }
(2)掌握函数中参数传递的两种方式和函数的相互调用。
(3)编写实验报告。
2、实验内容(参考实验指导书):
(1)写一个函数 int digit( int n , int k ),它返回数 n 的从右向左的第 k 个十进数字值。例如,
函数调用 digit(1234,2)将返回值 3。
(2)写一个函数 int isprime(int n),当 n 是质数时,函数返回非零值;当 n 是合数时,函数
(2)写一个函数 int isprime(int n),当 n 是质数时,函数返回非零值;当 n 是合数时,函
数返回零值。
#include <stdio.h> int isprime(int n) { int i; if(n==1) { return 0; } for(i=2;i<=n-1;i++){ if(n%i==0){ return 0; }
(5)在 n 个已排好序(设为从小到大)的数据(数或字符串)中查找某一个数据,如果找 到了,就指出其在 n 个数中的位置;否则给出无该数据的信息。请用递归的方法实现二分 查找来实现这一查找过程。
提示:采用二分法求解本问题的基本思路是:设数列为 a1,a2,…,an,被查找的数为 x, 则查找首先对 am(m = ( n + 1 ) / 2)进行,于是得到三种情形。
若 x = am,则 am 即为查找的数,求解结束。
从上面的分析发现,这个过程很适合用递归来实现。
一.实验主要流程、基本操作或核心代码、算法片段(该部分如不够填写,请另加附页) (1)写一个函数 int digit( int n , int k ),它返回数 n 的从右向左的第 k 个十进数字值。 例如,函数调用 digit(1234,2)将返回值 3。
(4)写一个主函数输入测试数据(自己指定),并调用上述函数,检查函数功能的正确性。
一个数如果从左到右和从右到左读,数字是相同的,则称这个数字为回文数,比如 898、1221、
15651 都是回文数。求:既是回文数又是质数的 5 位十进制数有多少个?要求:回文判断和
质数判断都需要通过子函数实现,输出的时候要求 5 个数字一行。
实验编号: 05 四川师大
实验报告 2016 年 月 日
计算机科学学院 级 06 班 实验名称:
姓名:仁青拉初_______
学号:2014110637
函数
_
指导老师:_刘洪_
实验成绩:_____
实验五 函数 实验
( 验证性 综合性 实验
4 学时)
1、目的要求:
(1)学习函数的编程思想,编写一个包括 3~4 个函数的程序。
1221、15651 都是回文数。求:既是回文数又是质数的 5 位十进制数有多少个?要求:回文
判断和质数判断都需要通过子函数实现,输出的时候要求 5 个数字一行。
(5)在 n 个已排好序(设为从小到大)的数据(数或字符串)中查找某一个数据,如果找
到了,就指出其在 n 个数中的位置;否则给出无该数据的信息。请用递归的方法实现二分查
#include<stdio.h> #include<string.h> void reverse( char s[]) { int n; n=strlen(s); if(n==1) { printf("%c ",s[0]); return 0; } printf("%c ",s[n-1]); s[n-1]='\0'; reverse(s); } int main() { char text[10]={'a','b','c','d','e','f','g','h','m','o'}; int i,n=10; for(i=0;i<n;i++) { printf("%c ",text[i]); } printf("\n"); printf("倒序为:\n"); reverse(text); } 非递归: #include<stdio.h> #include<string.h>
若 x > am,则 x 只可能在区间[am + 1 , an] 若 x < am,则 x 只可能在区间[a1 , am - 1] 若 x = am,则 am 即为查找的数,求解结束。 从上面的分析发现,这个过程很适合用递归来实现。 #include <stdio.h> #include<math.h> int hw(int n); int isprime(int n); void main() { int i; int cnt=0; for(i=10000;i<100000;i++) {
void reverse( char s[]) { int n; int i,j; char temp; n=strlen(s); if(n==1) { printf("%c ",s[0]); return } for(i=0;i<n;i++) { temp=s[i]; s[i]=s[n-1-i]; s[n-1-i]=temp; } for(i=0;i<n;i++) { printf("%c ",s[i]);
二.实验结果的分析与评价(该部分如不够填写,请另加附页)
掌握了函数中参数传递的两种方式和函数的相互调用
注:实验成绩等级分为(90-100 分)优,(80-89 分)良,(70-79 分)中,(60-69 分)及 格,(59 分)不及格。
#include <stdio.h> int digit(int n,int k) { int i; int m; for(i=0;i<k;i++) { m= n%10; n=n/10; } return m; } main() { int x; x = digit(1234,2); printf("%d\n",x); }
相关文档
最新文档