c语言实验六
快速排序算法c语言实验报告
快速排序算法c语言实验报告冒泡法和选择法排序C程序实验报告实验六:冒泡法排序物理学416班赵增月F12 2011412194日期:2013年10月31日一·实验目的 1.熟练掌握程序编写步骤;2.学习使用冒泡法和选择法排序;3.熟练掌握数组的定义和输入输出方法。
二·实验器材1.电子计算机;2.VC6.0三·实验内容与流程1.流程图(1)冒泡法(2)选择法 2.输入程序如下:(1)冒泡法#includestdio.h void main() { int a[10]; int i,j,t; printf(请输入10个数字:\n); for(i=0;i10;i++)scanf(%d,&a[i]); printf(\n); for(j=0;j9;j++)for(i=0;i9-j;i++) if(a[i]a[i+1]) { t=a[i]; a[i]=a[i+1]; a[i+1]=t; } printf(排序后如下:\n); for(i=0;i10;i++) printf(%d,a[i]); printf(\n); }(2)选择法#includestdio.h void main() { int a[10]; int i,j,t,k; printf(请输入10个数字:\n); for(i=0;i10;i++)scanf(%d,&a[i]);printf(\n); for(i=0;i9;i++) {k=i;for(j=i+1;j10;j++) if (a[k]a[j])k=j;t=a[i];a[i]=a[k];a[k]=t; }printf(排序后如下:\n); for(i=0;i10;i++)printf(%d,a[i]); printf(\n); }四.输出结果(1冒泡法)请输入10个数字:135****2468排序后如下:12345678910 (2)选择法输出结果请输入10个数字:135****6810排序后如下:12345678910五.实验反思与总结1.冒泡法和选择法是一种数组排序的方法,包含两层循环,写循环时,要注意循环变量的变化范围。
C语言实验安排
实验内容五(3月19日练习性实验)
请编写一个能够循环接收键盘输入 整数的程序(当输入0时表示数据输入结 束),并统计和输出所输入的整数中正 数和负数的个数。
本次试验内容的程序需要提交。
大学计算机应用基础
实验内容五(3月19日练习性实验)
一.把教程第六章的例6.1(P89)、例6.2 (P90)、例6.3(P91)、例6.4(P92)、例6.5 (P92)、例6.6(P95)、例6.7(P96)、例6.8 (P97)、例6.9(P98)、例6.10(P103)、例 6.11(P104)在VC环境中进行验证性演示。
大学计算机应用基础
实验内容十一(4月28日)
设计一函数求n×m矩阵中最小元素值并返 回该值。在主函数中从键盘对一3×4矩阵进 行赋值,然后调用求矩阵最小元素值函数求 该矩阵的最小值,并输出该值。
大学计算机应用基础
实验内容十一(4月28日)
设计一函数move,实现N*N方阵的转置功 能。在主函数中定义一方阵并初始化,然 后调用move函数实现对它的转置,最后输 出转置后的方阵。
x<=1 1<x<=5 5<x<=10 10<x<=15 x>15
本次试验内容的程序需要提交。
大学计算机应用基础
实验内容四(3月12日练习性实验)
一.把教程第五章的例5.1(P70)、例5.2 (P71)、例5.3(P73)、例5.4(P73)、例5.5 (P75)、例5.6(P76)、例5.7(P76)、例5.8 (P77)、例5.9(P78)、例5.10(P79)、例 5.11(P80)、例5.12(P81)、例5.13(P82)、 例5.14(P82)、例5.15(P83)、例5.16(P84) 在VC环境中进行验证性演示。 本次试验内容的程序需要提交。
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语言实验报告第6章答案
6.2基础实验一、程序分析分析以下程序段完成的功能,填写在序号后的空白处,并运行验证结果。
1. ⊙以下程序的运行结果是:_______s=12345↙____________________。
#include <stdio.h>int main( ){ inta[]={1,2,3,4,5},i,j=1,s=0;for(i=4;i>=0;i--){ s=s+a[i]*j;j=j*10;}printf(“ s= %d \n” , s );return 0;}2. 以下程序的运行结果是:_____7 5 3______________________。
#include<stdio.h>int main( ){ int k ;int a[3][3]={9,8,7,6,5,4,3,2,1};for(k=0;k<3;k++)printf(“%d ”,a[k][2-k]);return 0;}3. 以下程序的功能是:____查找最大值元素及下标_________________。
#include <stdio.h>int main( ){ int i, j ,x =0 ,y = 0 , m ;int a[3][3] = { 1, -2 , 0 , 4 , -5 , 6 , 2 , 4 };m = a [0][0] ;for (i=0 ;i < 3 ;i++)for (j = 0 ; j<3 ; j++ )if ( a[ i] [ j ] >m ){ m = a[ i ][ j ] ;x = i ;y = j ;}printf(“ ( % d , % d ) = % d \n”, x , y,m );return 0;} 运行结果:___(1 , 2 ) = 6↙_________________4. 以下程序的的运行结果是:__8,I am student!___________________。
C语言实验册完整答案
实验2答案五.程序改错#include<stdi o.h>int main(void){int x=3,y;y = x*x;printf("%d = %d * %d\n",y,x,x); /* 输出*/printf("%d * %d = %d\n",x,x,y);return 0;}六、一般编程题6.1#include<stdio.h>int main(void){int x,y;printf("Input x: ");scanf("%d",&x);printf("Input y: ");scanf("%d",&y);printf("%d + %d = %d\n",x,y,x+y);printf("%d - %d = %d\n",x,y,x-y);printf("%d * %d = %d\n",x,y,x*y);printf("%d / %d = %d\n",x,y,x/y);printf("%d %% %d = %d\n",x,y,x%y);return 0;}6.2#include<stdio.h>int main(void){ float x; double y;printf("Input x: ");scanf("%f",&x);printf("Input y: ");scanf("%lf",&y);printf("%f + %f = %f\n",x,y,x+y);printf("%f - %f = %f\n",x,y,x-y);printf("%f * %f = %f\n",x,y,x*y);printf("%f / %f = %f\n",x,y,x/y);return 0;}6.3#include<stdio.h>int main(void){ char c;printf("Input c: ");scanf("%c",&c);printf("%c\n",c+32);return 0;}6.4#include<stdio.h>int main(void){int celsius,fahr;fahr = 150;celsius = 5*fahr/9 - 5*32/9;printf("fahr = %d, celsius = %d\n", fahr, celsius);return 0;} 如果使用公式9)32(5-⨯=f c 计算结果不一样,celsius = 65。
c语言实验报告5篇
c语言实验报告c语言实验报告5篇随着社会一步步向前发展,我们使用报告的情况越来越多,我们在写报告的时候要注意涵盖报告的基本要素。
其实写报告并没有想象中那么难,以下是小编收集整理的c语言实验报告,欢迎阅读与收藏。
c语言实验报告1学号:__________ 姓名:__________ 班级:__________ 日期:__________指导教师:__________ 成绩:__________实验六综合实验一、实验目的1、掌握C语言中的变量、数组、函数、指针、结构体等主要知识点。
2、掌握C程序的结构化程序设计方法,能使用C语言开发简单的应用程序。
3、掌握C程序的运行、调试方法等。
二、实验内容编写一个学生信息排序程序。
要求:1、程序运行时可输入n个学生的信息和成绩(n预先定义)。
2、学生信息包括:学号、英文姓名、年龄;学生成绩包括:语文、数学、计算机。
3、给出一个排序选择列表,能够按照上述所列信息(学号、姓名、年龄、语文、数学、计算机)中的至少一个字段进行排序,并显示其结果。
1、使用函数方法定义各个模块。
三、实验步骤与过程物理实验报告·化学实验报告·生物实验报告·实验报告格式·实验报告模板四、程序调试记录c语言实验报告2第一章基础掌握1.1 实验目的掌握C程序设计编程环境Visual C++,掌握运行一个C程序的基本步骤,包括编辑、编译、链接和运行。
(]1.2 实验要求在报告中记录建立、保存C程序实习过程。
1.3 实验基本内容编写程序,在屏幕上显示一个短句“Hello World”(1)程序:1)编译如下程序:#includeVoid main(){printf (“Hello World! ”);}2)链接。
执行Build-命令。
3)运行。
执行Build Execute 命令。
显示结果。
4)关闭程序工作区。
(2)运行结果:输出结果:Hello World!总结:掌握C语言程序设计的基本框架,能够编写简单的程序。
C语言程序实验报告--谭浩强
C语言程序设计实验报告学校:内蒙古科技大学经济与管理学院班级:信息管理与信息系统2011级姓名:王*学号:**********目录实验一C语言开发环境建立 (3)实验二C语言程序初步 (3)实验三变量与赋值 (4)实验四运算符与表达式 (5)实验五数据类型 (7)实验六控制台输入/输出 (9)实验七关系运算与逻辑运算 (11)实验八分支程序的测试与调试 (12)实验九条件型循环结构及其测试 (16)实验十计数型循环结构及其测试 (20)实验十一函数及其测试 (24)实验十二变量的储存性质 (26)实验十三数组 (30)实验十四指针 (32)实验十五结构体和共用体 (37)实验十六文件 (40)实验11、实验目的与要求(1)掌握C语言开发环境的软/硬件配置和安装方法。
(2)为了自己的方便进行工作环境配置。
(3)测试所建立的C语言程序开发环境。
2、实验测试一个简单的程序,对所建立的程序开发环境进行测试例如,可以准备一个简单的程序如下。
#include <stdio.h>int main(void){printf("I am studying programming with C.");}编译结果运行结果3.分析与预期结果相同实验21.实验目的与要求(1)进一步熟悉c语言程序设计环境。
(2)明确c语言程序的结构。
2. 程序检测与调试程序一错误程序:main()(printf("This is c program.");)调试结果:程序缺少“#include<stdio.h>”,main函数下面应该是“{}”而不是“()”。
改正后的程序:#include<stdio.h>main(){printf("This is c program.\n");}程序二错误程序:#include<stdio.h>;main(){a=3,b=5;c=a*b;printf("The product is:",c)}调试结果:“#include<stdio.h>”后面没有“;”,对变量a,b,c没有定义,“}”前缺少“;”。
《C语言与程序设计》实验06---函数
实验六函数一、实验目的1. 熟练掌握函数的定义、函数的类型和返回值。
2. 熟练掌握形式参数与实际参数、参数值的传递。
3. 掌握函数的嵌套调用与递归调用。
4.学会使用指向函数的指针变量。
5.了解指向指针的指针的概念及带参数的main函数。
6. 掌握局部变量和全局变量。
7. 掌握变量的存储类型。
8. 了解内部函数和外部函数。
二、实验学时:8课时三、预习知识1.标准库函数标准库函数是C系统提供的,这些库函数定义了一些基本的、常用的功能,用户可以使用这些库函数,但是在使用库函数之前需要用预编译命令# include将该库函数所在的头文件包含进来。
2.自定义函数定义函数一般有两种形式形式1:存储类型类型符函数名(类型符形参1,类型符形参2 ,… ) { 说明语句执行语句}形式2:存储类型类型符函数名(形参1,形参2 ,……)形参类型说明{ 说明语句执行语句}说明:①形参表中即使没有参数,函数名后的一对圆括号也不能省略。
②函数名前的类型符是用来说明函数返回值的数据类型(也作为函数的数据类型) 。
当函数值为整型时,类型符可以省略。
③当函数只完成某一特定操作不需要返回值时,可用类型标识符 void 说明,将函数定义成空类型。
④C 规定:不允许在一个函数内部再定义另外一个函数,即函数不允许嵌套定义。
⑤函数的存储类型:函数的存储类型有 extern 和 static 两种。
extern 型的函数除了可以被本程序中其它函数调用外,还可以被其它文件中的函数调用,这种函数称为外部函数,如果定义函数时省略 extern ,则隐含为外部函数。
static 型的函数只能被本源程序文件中的函数调用,称为内部函数(静态函数)。
3.函数的参数(1)在定义函数时函数名后面括号中的变量称为形参(形式参数),如果有两个以上形参,形参之间以逗号分隔。
形参是函数的内部变量,只在函数内部才有意义。
在未出现函数调用时,形参不占内存。
对每个形参必须指明其名字和数据类型。
(完整版)c实验报告
(完整版)c实验报告实验名称: C语言实验报告实验内容:本次实验主要针对C语言编程进行实验。
通过实验的设计和完成,检验和加深对C语言的理解和应用能力。
实验步骤:1. 实验准备在开始实验之前,需要准备好以下必要的工具和材料:- 计算机- C语言编译器(比如GCC、Clang等)- 文本编辑器(比如Notepad++、Sublime Text等)2. 实验环境搭建在计算机上安装C语言编译器,并配置好相应的环境变量。
这样可以在终端或命令提示符中执行相关的C程序。
3. 编写实验代码根据实验要求,使用文本编辑器编写C语言代码。
根据实验的要求和功能需求,合理设计和组织代码结构,包括头文件的引用、变量的定义、函数的声明和定义等。
4. 编译和运行代码在命令行或终端中使用编译器对编写好的C语言代码进行编译,并生成可执行文件。
编译命令的具体格式根据不同的编译器而有所差异,但一般形式如下:```gcc -o output_file input_file.c```其中,"output_file"表示生成的可执行文件名,"input_file.c"表示待编译的C源代码文件名。
编译成功后,通过命令行或终端执行生成的可执行文件,检查程序的运行结果是否符合预期。
5. 实验结果分析根据实际运行结果,对实验数据进行分析和归纳。
可以通过输出结果、打印特定信息或观察程序的行为来判断程序是否正确地实现了预期的功能。
6. 实验总结在实验报告中对本次实验的过程、方法、结果进行总结,并提出实验中遇到的问题和解决方法。
同时,对所学习的C语言相关知识点进行总结和归纳,以加深对相关知识的理解和记忆。
实验结果:通过本次实验的设计和实现,我成功完成了对C语言编程的实验,达到了预期的目标。
通过编写实际的代码,我巩固了对C语言语法和基本概念的理解。
在实验过程中,我遇到了一些问题,通过查阅资料和与同学的讨论,我成功解决了这些问题。
C语言程序设计实验报告——实验六
c=add(a,b);
printf("sum is %f\n",c);
}
float add(float x,float y)
{
float z;
z=x+y;
return(z);
}
2.调试运行以下程序,分析调用函数前后程序中变量a和b的值是否发生改变?为什么?
void main( )
{
int a=3,b=6;
/*04*/ {
/*05*/ int a=14, b=15, temp;
/*06*/ temp=a/b;
/*07*/ #ifdef DEBUG
/*08*/ printf("a=%d, b=%d \n", a, b);
/*09*/ #endif
/*10*/ printf("temp =%d \n", temp);
#include <stdio.h>
#define NL printf("\n")
#define PRINT(F,V) printf("V=%F\t",V)
#define PRINT1(F,X1) PRINT(F,X1);NL
#define PRINT2(F,X1,X2) PRINT(F,X1);PRINT(F,X2);NL
main( )
{
int a,b,c,d;
float e,f,g,h;
long i,j;
char n,m;
a=1;b=2;c=3;d=4;e=1.5;f=2.5;g=3.5;h=4.5;
i=10;j=100;n='x';m='y';
C语言上机实验
实验一(第1章实验)实验目的:1.掌握运行C语言程序的全过程。
2.熟悉编译环境。
3.初步熟悉C语言程序的语法规定。
4.了解简单函数的使用方法。
实验内容:1.编程且上机运行:求3个整数的和。
2.编程且上机运行:求2个数的和、差、积和商。
3.编程且上机运行:输入3个数,求最大值。
4.编程且上机运行:输入圆的半径,求圆的面积和周长。
5.在屏幕上输出:“hello world!”实验结果:实验二(第3章实验)1.实验目的:理解C语言的类型系统。
实验内容:写程序测试数据-2在类型char,int,unsigned int,long int,unsigned long int 中存储情况。
实验过程:实验结果:参见各种类型的存储实现描述。
2.实验目的:了解混合类型计算中类型的转换规则。
实验内容:写程序测试多种类型数据一起运算时类型的转换及表达式结果的类型。
注意unsigned int和int数据运算时类型转换的方向。
实验过程:/** 类型转换问题* 试问下面两个表达式等价吗?*/#include <stdio.h>#include <stdlib.h>int main() {unsigned int ui,uj;ui = 1;uj = 2;if (ui < uj)printf("\n%u < %u is true !\n", ui, uj);elseprintf("\n%u < %u is false !\n", ui, uj);if (ui - uj < 0)printf("\n%u - %u <0 is true !\n", ui, uj);elseprintf("\n%u - %u <0 is false !\n", ui, uj);system("pause");return 0;}实验结果:参见类型转换规则。
C语言实验题及参考答案
实验一1、计算整数各位数字之和(10 分)输入一个3位正整数,将其每一位的数字相加,输出和。
输入格式:输入一个3位正整数。
变量数据类型为unsigned。
输出格式:输出整数每一位相加后的整数和。
输入样例:输出样例:【参考答案】#include ""int main(){ unsigned int a,ge,shi,bai,sum;scanf("%d",&a);ge=a%10;shi=a/10%10;bai=a/100;sum=ge+shi+bai;printf("%d\n",sum);return 0;}2、计算代数表达式(10 分)求:输入格式:输入角度x。
变量数据类型为double。
π为。
输出格式:输出y的值,精确到小数点后2位。
输入样例:输出样例:【参考答案】#include <>#include <>#define PIint main(){double x,y;scanf("%lf",&x);y=sqrt((sin(60*PI/180)+1)*(sin(30*PI/180)+1)/cos(x*PI/180));printf("%.2lf",y);return 0;}3、逆序的三位数(10 分)程序每次读入一个正3位数,然后输出按位逆序的数字。
注意:当输入的数字含有结尾的0时,输出不应带有前导的0。
比如输入700,输出应该是7。
输入格式:每个测试是一个3位的正整数。
输出格式:输出按位逆序的数。
输入样例:输出样例:【参考答案】#include ""int main(){ int a,ge,shi,bai,b;scanf("%d",&a);ge=a%10;shi=a/10%10;bai=a/100;b=ge*100+10*shi+bai;printf("%d\n",b);return 0;}4、求整数均值(10 分)本题要求编写程序,计算4个整数的和与平均值。
C语言实验报告(精选9篇)
C语言实验报告C语言实验报告(精选9篇)在经济发展迅速的今天,我们都不可避免地要接触到报告,通常情况下,报告的内容含量大、篇幅较长。
写起报告来就毫无头绪?下面是小编帮大家整理的C语言实验报告,欢迎阅读与收藏。
C语言实验报告1在这个星期里,我们在专业老师的带领下进行了c语言程序实践学习。
在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,更多的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。
因为学时所限,课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。
个人认为课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1、加深对课堂讲授内容的理解课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。
然而要使用c语言这个工具解决实际问题,又必须掌握它。
通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c 语言的语法规定。
对于一些内容自己认为在课堂上听懂了,但上机实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致。
学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。
C语言实验报告9篇
C语言实验报告C语言实验报告9篇随着个人素质的提升,报告的适用范围越来越广泛,我们在写报告的时候要注意语言要准确、简洁。
写起报告来就毫无头绪?以下是小编为大家整理的C语言实验报告,仅供参考,欢迎大家阅读。
C语言实验报告1一、实习目的1.掌握在集成环境中编辑、编译、连接和运行C程序的方法。
(1)运行TC(2)启动TC集成环境,输入一个源程序,编译并运行。
2.掌握单步执行、设置/去除断点,观察变量或表达式的值。
(3)在该程序中按CTRL+F7单步招待并在观察窗口中查看变量和表达式的值。
(4)设置/去除断点,继续调试。
1、熟练掌握if.switch分支语句的使用。
2、熟练掌握for.while.do.while循环语句的使用。
3、熟练掌握函数的定义、说明、参数传递及嵌套和递归调用方法。
4、熟练掌握一维数组、二维数组、字符数组的定义、说明和使用方法。
熟练掌握结构体和指针的综合应用链表的操作二、实习地点北京交通干部管理学院计算机系机房十三号.三、实习成果熟练掌握TC集成环境的使用方法。
认真编写实习报告和实习总结,描述实习操作和心得体会,总结在这次实习中的业务收获,作出自我评价。
熟练掌握并应用TC程序设计的各个知识点。
掌握结构体和指针的联合使用,学会链表的构造和常用操作方法,认真编写实习日志和实习体会。
并通过各种途径查找所需资料,拓宽视野,培养自学能力。
四、实习心得在短短一周的实习期间使我获取了不少新知识也巩固了许多老知识。
我体会到了老师和同学们的热心帮助,无论面对学习中多大的困难,同学们都会帮助你,老师也会帮助你,大家就像兄弟姐妹一样。
老师安排我们有具有的分工:首先,在计算机机房里同学们积极的对C语言进行巩固与实习,老师热心的讲解同学们提出的问题和实习过程中应该注意的事项和同学们的任何。
老师把我们分为几组,每一组十一个人,并且分配了具体的任务,在我们实习结束后每一组的同学都把自己组里的成果展示给大家一起分享,告诉大家编程的原理、方法等,使同学们既有动手能力,又能提高语言表达能力。
C语言程序设计实验六函数答案《西北民大电气学院》
实验六函数一,实验目的:1,掌握定义函数的方法.2,掌握函数实参与形参的对应关系,以及"值传递"的方式.3,掌握函数的嵌套调用和递归调用的方法.4,掌握全局变量和局部变量动态变量,静态变量的概念和使用方法.二,实验准备:1,复习函数调用的基本理论知识.2,复习函数的嵌套调用和递归调用的方法.3,复习全局变量,局部变量;静态变量,动态变量;外部变量等概念和具体使用. 4,源程序.三,实验步骤及内容:1,运行程序并回答问题(1)程序main(){ play(3);}void print_star(){ printf("* * * * * * * * * *\n")}void print_message(){ printf("Good Friend! \n");}void play(n)int n;{ int i;for(i=1;i<=n;++i){ print_star();print_message();}}问题:运行后出现什么错误为什么应如何修改请上机调试.修改:main(){ play(3);}void print_star(){ printf("* * * * * * * * * *\n");(缺少分号)}void print_message(){ printf("Good Friend! \n");}play(n)(原先void的与声明类型不同)int n;{ int i;for(i=1;i<=n;++i){ print_star();print_message();}getch();}运行结果(2)以下程序用于计算1+2+3+4+5.main(){ int i,sum;for(i=1;i<=5;++i)sum=add(i);printf("sum=%d\n",sum);getch();}add (a)int a;{static int s=0;s=s+a;return(s);}运行结果:问题:此程序能否得到正确结果为什么请在不增加语句的条件下,修改程序并上机调试.(3)程序int x=567,y=890;main(){ printf("x=%d,y=%d\n",x,y);}运行结果:问题:运行程序后出现什么错误为什么如何修改答:定义位置出错,y的定义在主函数之后了,将y的定义改在和x一样的位置处。
C语言实验报告
C语言实验报告实验一:c语言环境的开发与使用1.实验目的:上机编写简单的c语言程序,逐步了解c语言运行的程序步骤2.实验内容:在turboc3.0的环境下调试简单的c语言3.实验清单:输入一行字符(如“hello!”)Ex513_11.c#include<stdio.h>Int main(){printf(“hello!\n”);return 0;}从键盘输入两个整数,将其平方和输出(用函数关系求平方和)Ex513_12.c#include<stdio.h>#include<math.h>int main(){int a,b,c;printf(“\n input a=”);scanf(“%d”,&a);printf(“\n input b=”);scanf(“%d”,&b);c=sqre(a,b);printf(“sqre=%d”,c);return 0;}int sqre(x,y)int x,y;{return x*x+y*y;}从键盘输入三个整数,将其最大值输出。
(用函数求最大值)Ex513_13.c#include<stdio.h>int main(){int a,b,c,d;printf(“\n input a=”);scanf(“%d”,&b);printf(“\n input c=”);scanf(“%d”,&c);d=max(a,b,c);printf(“max=%d”,d);return 0;}int max(x,y,z);int x,y,z,t;{if(x>y) t=x;else t=y;if(z>t) t=z;return t;}输入三角形三边的长度,将其面积输出(用函数求面积) Ex513_14.c#include<stdio.h>#include<math.h>Int main(){double a,b,c,s,area;a=3.67;b=5.43;c=6.21;s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“a=%f\tb=%f\t%f\n”,a,b,c);printf(“area=%f\n”,area)return 0;}4运行结果及分析程序:Ex513_11.c结果:输出hello!分析:掌握输出一行字符的写法程序:Ex513_12.c结果:输入1,2输出5分析:编写正确,但不够简洁程序:Ex513_13.c结果:输入-3,1,2输出2分析:程序运用了函数程序:Ex513_14.c结果:输入3,4,5输出6分析:编写不够简洁实验二:顺序结构设计1.实验目的:了解什么是常量和变量及种类掌握整型,实型,字符型变量的定义和使用及输出规律掌握七个运算符的运算法则及其混合运算规律2.实验内容:假如我国国民生产总值的年增长率为百分之九,计算十年后我国国民生产总值与现在相比增长多少?Ex513_21.c#include<stdio.h>#include<math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}用编好的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’Ex513_22.c#include<stdio.h>int main(){int a,b;float x,y;char c1,c2;scanf("a=%d b=%d",&a,&b);scanf("%f%e",&x,&y);scanf("%c%c",&c1,&c2);printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);return 0;}设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。
C语言实验6 实验报告(指针)
C语言程序设计实验报告实验六使用指针的程序设计(1)班级 2012153 学号 201215317 姓名杜顺永一、实验目的(1)掌握指针的概念,会定义和使用指针变量;(2)能正确使用数组的指针和指向数组的指针变量;(3)熟悉指针做函数参数的使用方法;(4)能正确使用字符串的指针和指向字符串的指针变量。
二、实验内容及步骤1、按要求完善程序下列程序的功能是分别求出数组中所有奇数之和以及所有偶数之和。
形参n给了数组中数据的个数,利用指针odd返回奇数之和,利用指针even返回偶数之和。
例如:数组中的值依次为:1,9,2,3,11,6;则利用指针odd返回奇数之和24;利用指针even返回偶数之和8。
请在下面空白处将实现这一功能的函数完善,并且调试运行出结果。
程序代码如下所示:#include <stdio.h>#define N 20void fun(int *a,int n,int *odd,int *even){int i;*odd=0;*even=0;for(i=0;i<n;i++,a++){if(*a%2==0)*even=*even+*a;else*odd=*odd+*a;}}void main(){int a[N]={1,9,2,3,11,6},i,n=6,odd,even;printf("The original data is:\n");for(i=0;i<n;i++)printf("%5d",*(a+i));printf("\n\n");fun(a,n,&odd,&even);printf("The sum of odd numbers:%d\n",odd);printf("The sum of even number:%d\n",even);}运行结果:2.假设每班人数最多不超过30人,具体人数由键盘输入,试编程打印最高分及其学号。
c语言实验报告
c语言实验报告一、引言C语言是一种广泛应用于计算机科学和软件开发领域的编程语言。
它的简洁性、高效性以及跨平台的特性使其成为许多开发人员的首选。
本篇实验报告将介绍我在学习C语言过程中进行的几个实验项目,并详细记录每个实验的步骤、结果以及对C语言的理解。
二、实验一:Hello World!在学习任何一门编程语言时,第一个示例程序往往是输出"Hello World!"。
这个简单的程序虽然看似微不足道,却能够帮助初学者了解基本的编译和运行过程。
在实验中,我使用了C语言的基本语法,编写了一个简单的Hello World程序,并成功地将其编译并运行。
这个小小的成就让我对C语言有了初步的认识和信心。
三、实验二:计算器程序为了更深入地理解C语言的数据类型和运算符,我决定编写一个简单的计算器程序。
这个程序可以实现基础的四则运算和一些简单的数学函数,如平方根和求幂等。
通过这个实验,我学会了如何使用变量、条件语句和循环结构来实现计算功能,并通过不断调试和修改,使程序更加健壮和高效。
四、实验三:数组与排序数组是C语言中非常重要的概念,在实验三中,我探索了数组的用法和特性,并将其应用于一个排序算法中。
我选择了冒泡排序作为实验的排序算法,通过比较相邻元素的大小并不断交换位置,最终将数组中的元素按照升序排列。
这个实验使我更加熟悉了数组的操作,也加深了我对算法思想和效率的理解。
五、实验四:文件操作在现实世界中,大部分的应用程序需要与文件进行交互。
为了学习如何使用C语言进行文件操作,我进行了实验四。
在这个实验中,我编写了一个小程序,能够读取一个文本文件的内容,统计其中不同字符的数量,并将结果输出到另一个文件。
通过这个实验,我了解了如何打开、关闭和读写文件,也学习了异常处理以及文件操作的一些注意事项。
六、实验五:数据结构和指针C语言提供了指针的机制,允许直接访问和操纵内存中的数据。
为了更深入地理解指针和数据结构之间的关系,我进行了实验五。
C语言实验报告
C语⾔实验报告上机要求:禁⽌玩游戏、看视频及从事与课程⽆关的活动。
实验内容按照指导书内容填写,可以把⾃⼰上机编写的程序、遇到的问题、解决办法写上(得到⾼分的条件)。
在有输⼊输出的程序部分,应该写上输⼊输出的结果,以表⽰程序能正确⼯作。
实验⼀编程环境的使⽤⼀、⽬的和要求1.了解编程环境的使⽤。
2.学会处理简单的错误,观察运⾏结果。
3.掌握基本的输⼊输出。
⼆、实验原理VisualC++6.0是⼀个集成的开发环境,包括编辑、编译连接和调试。
编写程序的主要过程是:建⽴⼯作区、建⽴⼯程、添加源⽂件、输⼊程序、运⾏程序、改正出现的错误直到有正确的输出结果。
三、实验内容及步骤1.编程环境的使⽤。
(1)打开VisualC++6.0开发环境。
(2)单击“⽂件-〉新建”菜单命令,显⽰出“新建”对话框(如图1-3)。
在新建对话框单击“⼯程”标签,选中Win32 Console Application项,然后在⼯程框中键⼊控制台应⽤程序项⽬名称,并且选中空⼯程。
(3)添加C++源⽂件,输⼊⽂件名。
(4)打开编辑窗⼝,输⼊程序,保存。
(5)编译运⾏程序,找到其错误位置,改正错误。
2.编写如下程序,从键盘读⼊两个整数,计算它们的和差积商,将结果输出在屏幕上。
3.编写如下程序,从键盘读⼊两个字符,并输出在屏幕上。
四、思考问题1.如何使⽤不同的数据类型。
2.如何处理输⼊输出。
3.如何查找程序中的错误?实验⼆选择结构⼀、⽬的和要求1. 掌握if ...else 及其嵌套的⽤法。
2. 掌握switch 的⽤法。
⼆、实验原理if 语句是专门⽤来实现选择结构的语句,是根据⼀个条件满⾜与否来决定是否执⾏某条语句或从两个语句中选择⼀个语句执⾏。
if-else 语句的⼀般格式为:if (表达式1) 语句1else if (表达式2)语句2……else if (表达式n )语句nelse 语句n+1当程序中有多个条件判断时,若使⽤if 语句可能使嵌套太多,降低了程序的可读性,switch 语句能很好的解决这个问题。
《C语言程序设计实验》指导书(实验1~6)
《C语言程序设计实验》指导书(简明版)**大学软件学院**年**月实验一顺序结构程序设计(2学时)一、实验目的1、熟悉C编译环境、简单C程序结构及书写方式、以及C程序的编辑、编译、连接、运行、调试的步骤;2、掌握C语言的基本数据类型及其输入输出格式,以及输入输出函数的使用方法;3、掌握C语言的算术运算符(特别是自增、自减运算符)、赋值运算符、关系运算符、逻辑运算符、条件运算符、逗号运算符的使用;4、掌握C语言顺序结构程序的执行流程、设计方法,能够根据实际问题灵活使用顺序结构,画出程序的算法流程图,设计出逻辑合理、思路清晰、结果正确的顺序结构程序。
二、实验内容及要求1、实验内容包括8道题目,分为基本内容和选做内容两部分。
要求:(1)基本内容中的实验题目是必须要完成的,选做内容中的实验题目可以根据自己的情况选做或全做(越多越好,适当加分);(2)在实验之前编写出基本内容、选做内容中的所有程序,实验前检查(视未完成情况适当扣分);(3)对于设计型题目,要求画出程序流程图(传统流程图和N-S图);(4)在上机实验过程中,注意总结和体会上机步骤(编辑、编译、连接、运行、调试、结果分析),注意培养观察、分析和排除编译错误、连接错误和程序逻辑错误的初步能力;(5)上机结束后,应按要求认真书写实验报告(格式见附件)。
2、基本内容(1)[验证型]编辑下列程序,然后进行编译、连接和运行,观察结果,并简要总结简单C程序的结构、书写格式以及上机过程;#include <stdio.h>int main( ){printf("Hello, world!\n");return 0;}(2)[验证型]通过运行下列程序,分析各种格式符的使用方法。
#include <stdio.h>int main( ){int a = 9, b = 2;float x = 32.8459, y = -792.451;char d = 'R';long n = 5461237;unsigned u = 65535;printf("%d,%d\n", a, b);printf("%3d,%3d\n", a, b);printf("%f,%f\n", x, y);printf("%-10f,%-10f\n", x, y);printf("%8.2f,%8.2\n", x, y);printf("%.4f,%.4f\n", x, y);printf("%3f,%3f\n", x, y);printf("%e,%10.2e\n", x, y);putchar(d);putchar('\n');printf("%c,%d,%o,%x\n", d, d, d, d);printf("%ld,%lo,%x\n", n, n, n);printf("%u,%o,%x,%d\n", u, u, u, u);return 0;}(3)[验证型]编辑下列程序,进行编译、连接和运行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
常熟理工学院《C语言程序设计》实验指导与报告书______学年第____ 学期专业: ___________________________________________ 学号: ___________________________________________ 姓名: ___________________________________________ 实验地点:___________________________________________ 指导教师:___________________________________________计算机科学与工程学院2014实验7 数组程序设计(1)7.1 实验目的1.掌握一维数组的定义及初始化方法。
2.掌握用循环语句对一维数组进行处理的方法。
3.熟悉对数组元素进行处理的常规算法(如排序、插入、删除及查找等)。
7.2 示例程序【实验7.1】本程序的功能是:取出一个十进制正整数中的所有偶数数字,用这些数字构成一个最大数。
程序代码:#include<stdio.h>#define N 10int main(){ int i,j,k=0,t,d,a[N];long n,m=0;printf("Please enter a long integer.");scanf("%ld",&n);while(n>0) /* 依次取出每位数,并将偶数存入数组*/{ t=n%10; /* 取出一位数*/if(t%2==0) /* 判断是否偶数*/a[k++]=t; /* 将偶数存入数组*/n/=10; /* 为取下一位数做准备*/}for(i=0;i<k-1;i++) /* 对取出的偶数进行降序排序,共k-1轮*/{ d=i; /* 记录每轮起始元素的下标*/for(j=i+1;j<k;j++)if(a[j]>a[d]) /* 后续元素依次与起始元素进行比较*/d=j; /* 记录比起始元素大的元素的下标*/if(d!=i) /* 一轮比较后判断记录的下标是否发生了变化*/{ t=a[d];a[d]=a[i];a[i]=t;} /* 若发生了变化,则交换元素值*/}for(i=0;i<k;i++) /* 将排序后的偶数组合成一个最大数*/m=m*10+a[i];printf("max=%ld",m);return 0;}说明:1.while循环语句的作用是依次将每一位数字分离出来,判断分离的数字是否为偶数,若是偶数,将其存入数组中。
2.对取出的偶数进行降序排序,排序采用的是选择排序算法。
3.使用表达式“m=m*10+a[i]”将排序后的偶数组合成一个最大数。
7.3 阅读程序【实验7.2】以下程序的功能是:验证在7~2000之间的所有素数中存在这样的两个素数,它们的差恰好是1898。
程序代码:#include<stdio.h>int main(){ int i,j,a[1000],k=0,m,n,flag=0;for(i=7;i<2000;i+=2){ for(j=2;j<=i/2;j++) /* */if(i%j==0)break; /* */ if(j>i/2) /* */a[k++]=i; /* */ }for(i=0;i<k-1;i++)for(j=1;j<k;j++)if(a[j]-a[i]==1898) /* */{ m=i;n=j;flag=1; /* */break;}if(flag)printf("%d-%d=%d",a[n],a[m],a[n]-a[m]);elseprintf("not found!");return 0;}说明:1.程序中首先找出7~2000之间的所有素数,将其存入数组中。
2.采用双循环遍历素数数组元素,若两个元素的差是1898,则分别记录两个元素的下标,同时退出循环。
3.程序中的flag变量作为标志变量,其初始值为0,若找到符合条件的两个元素时,将其值置为1。
循环外依据标志变量flag的值给出结果。
【实验7.3】编写程序,由键盘输入一个十进制整数,输出其补码。
程序代码:#include<stdio.h>int main(){ int n,k,sign,carry,bm[8];do{ printf("Please enter a integer(-128>=n<=127):");scanf("%d",&n);}while(n<-128||n>127); /* */for(k=0;k<8;k++)bm[k]=0; /* */ if(n>0)sign=0;else { sign=1; n=-n; }k=0;do{ bm[k++]=n%2; /* */ n/=2;}while(n>0);if(sign){ carry=1;for(k=0;k<7;k++){ bm[k]=1-bm[k]+carry; /* */if(bm[k]>1){ bm[k]-=2;carry=1; /* */}elsecarry=0;}}bm[k]=sign;for(k=7;k>=0;k--)printf("%d",bm[k]);return 0;}说明:1.bm数组用于存放补码。
2.首先使用do-while循环求出整数的二进制数,并将每一位二进制数存于bm数组,然后对bm数组中的每一位进行求反操作。
7.4 完善程序【实验7.4】将一个整数插入到已经排好序的数组中,使该数组仍有序。
程序代码:#include<stdio.h>int main(){ int i,j,t,n,a[11]={12,31,5,7,19,4,8,16,32,42};for(i=0;i<10;i++) /* 对数组进行降序排序*/for(j=i+1;j<=10;j++)if(a[i]<a[j]){ t=a[i];________;a[j]=t;}printf("Inserted before:");for(i=0;i<10;i++) /* 输出排序后的数组*/printf("%3d",a[i]);printf("\nPlease enter a number:");________; /* 输入要插入的数*/for(i=0;i<10;i++)if(a[i]<n) /* 寻找插入点*/{ for(j=9;j>=i;j--)________; /* 元素依次后移一个位置*/break; /* 已找到插入点,结束寻找*/ }a[i]=n; /* 将要插入的数送入数组*/printf("Inserted after:");for(i=0;i<=10;i++)printf("%3d",a[i]);return 0;}说明:1.定义数组时,直接给数组赋值。
2.首先对数组进行降序排序。
然后从第一个元素开始依次与要插入的数进行比较,寻找插入点。
找到插入点后,将插入点开始的元素依次后移一个位置,结束寻找。
3.移出位置后,将要插入的数送入数组。
7.5 改错程序【实验7.5】本程序的功能是:输出15至100之间所有能被3整除且至少有一位数字是5的整数。
请改正程序中的错误,并调试。
注意:改错时不允许增加及删除语句,只允许修改或移动语句的位置。
【含有错误的程序代码】#include<stdio.h>int main(){ int i,j,n,m,k,a[100],b[5];for(i=15;i<=100;i++)if(i%3=0) /* 判断是否是3的倍数*/{ i=m; /* 将判断的数赋给m */j=0;k=0;do{ b[j]=m%10; /* 分离出一位数并赋给数组*/m/=10; /* 为分离下一位数做准备*/if(b[j]==5) /* 判断该位数是否是5 */k++;j++;}while(m<0); /* 满足条件结束循环*/if(k>0)a[n++]=i; /* 满足条件的数存入数组*/}for(i=0;i<n;i++)printf("%4d",a[i]);return 0;}7.6 自己练习1.编写程序,将一个数组中的元素逆序存放。
例如,原来顺序是12,3,11,14,21,15,25,18,22,27,逆序后为27,22,18,25,15,21,14,11,3,12。
2.编写程序,取出一个十进制正整数中的所有奇数数字,用这些数字构成一个最小数。