大一C语言实验报告九江学院,九江学院C语言实验报告及答案-资源下载人人文库网...

九江学院 C语言实验报告及答案

高级语言程序设计实验指导学 院:信息科学与技术学院专 业:信息管理与信息系统 学 期:20112012学年第二学期教 师: 目录实验1 熟悉C语言程序开发环境11.1 实验目的11.2 实验预习11.3 实验任务11.4 实验报告2实验2 数据描述32.1 实验目的32.2 实验预习32.3 实验任务32.4 实验报告4实验3 顺序结构程序设计53.1 实验目的53.2 实验预习53.3 实验任务53.4 实验报告6实验4 选择结构程序设计84.1 实验目的84.2 实验预习84.3 实验任务84.4实验报告9实验5 循环结构程序设计115.1 实验目的115.2 实验预习115.3 实验任务115.4 实验报告12实验6 函数与编译预处理156.1 实验目的156.2 实验预习156.3 实验任务156.4 实验报告17实验7 数组197.1 实验目的197.2 实验预习197.3 实验任务197.4 实验报告21实验8综合实验248.1 实验目的248.2 实验预习248.3 实验任务24实验9 指针259.1 实验目的259.2 实验预习259.3 实验任务259.4 实验报告27实验10 结构体数据类型与链表2910.1 实验目的2910.2 实验预习2910.3 实验任务2910.4 实验报告29实验11 共用体数据类型3111.1 实验目的3111.2 实验预习3111.3 实验任务3111.4 实验报告31实验12 文件3312.1 实验目的3312.2 实验预习3312.3 实验任务3312.4 实验报告34实验13 综合实验3513.1 实验目的3513.2 实验预习3513.3 实验任务35实验1 熟悉C语言程序开发环境院(系):信息科学与技术学院 课程名称:高级语言程序设计日期:班级学号实验室专业姓名计算机号实验名称所用软件教师签名实验操作实验分析实验成绩1.1 实验目的1了解和掌握C语言的主要特点,C语言的程序开发环境,掌握C语言的上机步骤。2熟练掌握源程序的建立、编辑、编译、保存和运行的基本方法。3学习动态调试程序的方法,熟练掌握单步执行程序和设置断点执行程序的操作。1.2 实验预习1熟悉VC+的启动和退出以及VC+中的编辑、编译、连接和运行命令。2了解Turbo C的启动和退出以及Turbo C中的编辑、编译、连接和运行命令。3了解下列命令及函数:includestdio.h、main、printf、scanf。1.3 实验任务准备工作:首先在D盘建立一个以自己的学号命名文件夹,用来存放所建的文件。1建立第1个源程序,命名为A1.cpp/A1.C。(VC+/Turbo C环境下都可以的)#include stdio.hmain()int a,b,c;a=10,b=5;c=a+b;printf(a=%d , b=%d, c=%dn,a,b,c);2实验指导书P19【上机题3】,命名为A2.cpp/A2.C。3在VC+环境下,建立第3个C语言源程序,命名为A3.cpp。#include stdio.hmain()int n,s;n=s=0;while(s500)+n;s+=n;printf(1+2+.+%d=%dn,n-1,s-n);1.4 实验报告1写出【实验任务1】人工分析结果并在实验完成后记录实验结果。表1-1 实验任务1结果记录表人工分析结果实验运行结果a=10,b=5,c=15a=10,b=5,c=152【实验任务2】程序结果记录。表1-2 实验任务2结果记录表原始数据实验运行结果Input x,y :The result is3,531323 58上述实验结果中,是否有错误结果出现?__有___。出现错误的原因是 输入格式错误 。提示:查找错误的方法在P20上的动态调试程序,请自行学习。3完成【实验任务3】,并记录实验结果。表1-1 实验任务1结果记录表实验运行结果1+2+31=4964在VC中完成C程序编辑完成后,需要编译运行,请简述不同的操作方法。(1)快捷键F7,然后用Ctrl+F5(2)执行“编辑|编译”命令,然后使用“编译|执行”命令(3)使用工具栏中的命令按钮实验2 数据描述院(系):信息科学与技术学院课程名称:高级语言程序设计日期:班级学号实验室专业姓名计算机号实验名称所用软件教师签名实验操作实验分析实验成绩2.1 实验目的1认识C语言,熟悉C语言的语法结构。2掌握C语言中4种基本数据类型的特点、数据类型变量的定义及使用。3掌握不同数据类型运算时,数据类型的转换规则。4熟练掌握赋值语句。5掌握C语言中表达式语句以及不同运算符的运算规则和优先级。2.2 实验预习1各种数据类型变量的定义形式;熟悉下列标识符的含义:int、short (int)、long (int)、unsigned (int)、float、double、char、void2各种数据类型的取值范围。3各类运算符的优先级和结合规则。4常量与变量的区别和联系。2.3 实验任务1实验指导书P22【上机题3】。2实验指导书P23【上机题6】。3实验指导书P24【上机题8】。4实验指导书P24【上机题9】。5分析程序,并上机验证运行结果。#include stdio.hvoid main()int a=10,x=5,y=6;a+=a*=6;x=y+;y=+x;a=x+y;printf(%d,%d,%dn,a,x,y);6实验指导书P25【上机题12】。2.4 实验报告1预习【实验任务1】,阅读程序并上机调试程序记录运行结果。表2-1 实验结果记录表人工分析结果实验运行结果25+4=2925-4=2125*4=10025/4=425%4=125+4=2925-4=2125*4=10025/4=425%4=12预习【实验任务2】,阅读程序并上机调试程序记录运行结果。表2-2 实验任务2结果记录表人工分析结果11实验运行结果113预习【实验任务3】,填空并上机调试程序记录运行结果。表2-3 实验任务3结果记录表人工分析结果91,90实验运行结果91,904预习【实验任务4】,填空并上机调试程序记录运行结果。表2-4 实验任务4结果记录表人工分析结果12,104,0,12实验运行结果12,104,0,125预习【实验任务5】,填空并上机调试程序记录运行结果。表2-5 实验任务5结果记录表人工分析结果14,8,7实验运行结果14,8,76预习【实验任务6】,填空并上机调试程序记录运行结果。表2-6 实验任务6结果记录表人工分析结果c=78,d=1156实验运行结果c=78,d=1156实验3 顺序结构程序设计院(系):信息科学与技术学院 课程名称:高级语言程序设计日期:班级学号实验室专业姓名计算机号实验名称所用软件教师签名实验操作实验分析实验成绩3.1 实验目的1熟悉printf/scanf函数及printf/scanf函数的各种格式控制符。2比较printf函数和scanf函数格式控制符的相同点和不同点。3掌握顺序结构程序设计方法及执行过程。4掌握一些简单的算法。5能设计简单的顺序结构程序。3.2 实验预习1熟悉下列函数:putchar、getchar、printf、scanf。2了解顺序结构程序的执行过程。3了解程序的跟踪调试和变量值的监视并能够熟练操作。4了解顺序结构程序的一般构成。3.3 实验任务1实验指导书P28【上机题4】。2实验指导书P28【上机题6】。3输入一个华氏温度,要求输出摄氏温度,公式为:C=。要求输出结果保留到小数点后两位。(提示:已知程序段中有三处错误,由注释语句/*found*/提示下一条语句有错误),请修改程序中的错误并记录程序运行结果。#include stdio.hmain()float f,c;/*found*/scanf(%d,f);/*正确语句是:__________________________*/*found*/c=5/9(f-32);/*正确语句是:__________________________*/*found*/printf(f=%f,c=%fn,c,f);/*正确语句是:__________________________*/4 程序填空。实验指导书P30【上机题12】。提示:从键盘输入两个实数a和x,按公式计算并输出y的值。#include stdio.h#include math.hmain()float a,x,y;scanf(_____(1)___,&a,&x); y=_________(2)_____;printf(y=%fn,y);5.程序填空。在已知a=3.5,b=5.4,c=4.3,编程求以a,b,c为边长的三角形的面积。 在程序的相应位置填写语句,运行程序并记录实验结果。提示:,其中。#include stdio.h____(1)________/*需要添加头文件*/main()float a,b,c,s,area;scanf(%f,%f,%f,&a,&b,&c);_______(2)________;area=sqrt_____(3)______;/*库函数sqrt的功能是开平方*/printf(area=%fn,area);3.4 实验报告1完成【实验任务1】,阅读程序并上机调试程序记录运行结果。表3-1 实验任务1结果记录表人工分析结果实验运行结果a=11,b=23.a=11,b=23.a=1,b=123.a=1,b=123.a=123,b=457.a=123,b=457.2完成【实验任务2】,阅读程序并上机调试程序记录运行结果。表3-2 实验任务2结果记录表实验运行结果123, 123123., 123.,1.e+002, 1.e+002,123.567,123.567 123.56700, 123.57,124,123.57abcde3完成【实验任务3】,填空并上机调试程序记录运行结果。表3-3 实验任务3结果记录表第一处修改scanf(“%f”,&f);第二处修改c=5.0/9.0*(f-32);第三处修改printf(“f=%.2f,c=%.2fn”,f,c);实验运行结果80f=80.00,c=26.674预习【实验任务4】,填空并上机调试程序记录运行结果。(1) scanf( %f,%f ,&a,&x); (2) pow(a,5)+sin(a*x)+log(a+x)+exp(a*x) ;(3)当a=6.4,x=3.4时,y=. 。5完成【实验任务5】,填空并上机调试程序记录运行结果。表3-4 实验任务5结果记录表第一处填空#include math.h 第二处填空s=(a+b+c)/2 ;第三处填空(s*(s-a)*(s-b)*(s-c) ;实验运行结果7.实验4 选择结构程序设计院(系):信息科学与技术学院 课程名称:高级语言程序设计日期:班级学号实验室专业姓名计算机号实验名称所用软件教师签名实验操作实验分析实验成绩4.1 实验目的1掌握C语言的逻辑运算符和逻辑表达式,学会表示逻辑值的方法。2掌握正确使用关系运算符和关系表达式。3熟练掌握条件语句,学习选择结构程序设计的方法及应用。4熟悉多分支选择的switch语句。5进一步学习跟踪调试程序,熟悉选择结构程序段中语句的执行过程。4.2 实验预习1熟悉逻辑运算符和逻辑表达式、关系运算符和关系表达式。2熟悉下列语句:if、if-else、switch、break。4.3 实验任务1阅读程序,上机调试并记录程序结果。#include stdio.hmain( ) int x=3; if(x=0) printf(x=%dn,x);else printf(x=%dn”,x+1); 2阅读程序,上机调试并记录程序结果。#include stdio.hvoid main() int a,b;scanf(%d,&a); /*键盘输入一个整数a*/if(a%2!=0) /*判断a是否是奇数*/ b=a*a;printf(b=%dn,b); 3. 实验指导书P32【上机题4】,分析程序并运行结果。4程序填空。阅读程序,运行并记录实验运行结果。#include stdio.hmain( )char x,y;printf(Please input a upper letter:);scanf(%c,&x);if( 1 ) /*表达式功能:判断输入的数据是否是大写字母*/ 2 ; /*语句功能:将输入的大写字母转换成小写,赋值给y*/printf(The lower letter is:%cn,y); 5计算符号函数的值,要求用switch语句实现。程序填空,并记录实验运行结果。-1x0y=0x=01x0#include stdio.hmain( )int x,y;printf(Please input the data:);scanf(%d,&x);switch( 1 ) /*表达式功能:用条件表达式完成判断*/case 0: 2 /*语句功能:根据符号函数定义,y赋值为0*/case 1: 3 /*语句功能:根据符号函数定义,y赋值为1*/default: 4 /*语句功能:根据符号函数定义,y赋值为-1*/printf(y=%dn,y); 4.4实验报告1完成【实验任务1】,在实验完成后记录实验结果。表4-1 实验任务1结果记录表实验运行结果x=42. 完成【实验任务2】,写出人工分析结果并在实验完成后记录实验结果。表4-2 实验结果记录表输入数据人工分析结果实验运行结果3b=9b=945b=25b=2563.完成【实验任务3】,记录实验结果。表4-3实验结果记录表输入数据人工分析结果实验运行结果3 6 86+8=146+8=146 18 918/9=218/9=27 10 134完成【实验任务4】,填空并在实验完成后记录实验结果。表4-4 实验任务4结果记录表填空位置填空语句输入数据实验运行结果1xA&xZDd2x=x+32d5完成【实验任务5】,填空并在实验完成后记录实验结果。表4-5 实验任务5结果记录表填空位置填空语句输入数据实验运行结果1512y=0;break;-5-13y=1;break;004y=-1;break;实验5 循环结构程序设计院(系):信息科学与技术学院 课程名称:高级语言程序设计日期:班级学号实验室专业姓名计算机号实验名称所用软件教师签名实验操作实验分析实验成绩5.1 实验目的1熟练掌握while、do-while和for语句实现循环的方法。2掌握循环程序设计中一些常用算法(如穷举、迭代、递推等)。3掌握常用的无条件控制语句在循环中的控制作用。4理解循环嵌套及嵌套的执行过程。5.2 实验预习1熟悉语句:while、do-while、for。2熟悉三种语句之间的关系和区别。3熟悉语句:break、continue、goto。 4循环结构常见的算法。5.3 实验任务1编写程序,输入一个正整数,计算该数据各位数字之和。 运行4次,分别输入:123、0、-8、32769,请分析结果,并上机调试程序记录运行结果。#include stdio.hmain( )int n,r,s=0;printf(Please input the data:);/*填空位置(1),语句功能:从键盘输入任意的正整数n*/if(_____) /*填空位置(2),表达式功能:判断输入的数据n是否合法*/while(n0)r=n%10; /*填空位置(3),语句功能是: */s=s+r;n=n/10; /*填空位置(4),语句功能是: */printf(sum=%dn,s);elseprintf(The data is wrong!n);2实验指导书P34第4题。3实验指导书P35第6题。4编写程序完成计算。数列表达式s=1+,当n=10时,求s的近似值。已知程序段中有两处错误,由注释语句/*found*/提示下一条语句有错误,请修改程序中的错误并记录程序运行结果。#include stdio.hmain( )float s=0;int n;/*found*/for(n=1,n=10,n+) /*found*/s=s+1/n; printf(s=%fn,s);5阅读程序,分析程序功能,并将非结构化程序改写为结构化程序。#include stdio.hmain()float s=0; int n,i=1; printf(Please input the number:); scanf(%d,&n);loop: if(i=n)s=s+(float) (i)/(i+1);i=i+2;goto loop;printf(s=%fn,s);(1)该程序的功能是: 。(2)运行程序,输入数据10,程序运行结果为: 。(3)改写的结构化程序如下。 6实验指导书P36第8题。7实验指导书P79第14题(1)。5.4 实验报告1完成【实验任务1】,阅读程序并上机调试程序记录运行结果。表5-1 实验任务1结果记录表填空位置填空语句输入数据人工分析结果实验运行结果(1)scanf(“%d”,&n);123sum=6sum=6(2)n00The data is wrong!The data is wrong!(3)取n的最低位数字-8The data is wrong!The data is wrong!(4)保留取走最低位数字的n32769The data is wrong!The data is wrong!2完成【实验任务2】,阅读程序并上机调试程序记录运行结果。表5-2 实验任务2结果记录表实验运行结果3完成【实验任务3】,填空并上机调试程序记录运行结果。表5-3 实验任务3结果记录表人工分析结果实验运行结果*4完成【实验任务4】,修改程序中的错误并记录程序运行结果。表5-4 实验任务4结果记录表错误位置正确语句形式实验运行结果(1)for(n=1;n=10;n+)s=2.(2)s=s+1.0/float(n)5完成【实验任务5】的程序并分析程序功能,运行并记录实验结果。(1)该程序的功能是:1/2+3/4+5/6+7/8+(2*n-1)/2*n 。(2)运行程序,输入数据10,程序运行结果为:s=3.85333 。(3)将非结构化程序设计方式改写的结构化程序。代码如下:#include stdio.hmain()float s=0; int n,i=1; printf(Please input the number:); scanf(%d,&n);for(;i=n;i=i+2)s=s+(float) (i)/(i+1); printf(s=%fn,s);6完成【实验任务6】,分析并记录实验结果。表5-5 实验任务6结果记录表人工分析结果实验运行结果9191将“break”改为“continue”后的结果是: -1 。7完成【实验任务7】,编写程序代码。#inlcudestdio.h#includemath.hvoid main()int i,j;for(i=1;i=5;i+)for(j=1;j=fabs(i-3);j+)printf(“ “);for(j=1;j=5-2*fabs(i-3);j+)printf(“*”);printf(“n”);实验6 函数与编译预处理院(系):信息科学与技术学院 课程名称:高级语言程序设计日期:班级学号实验室专业姓名计算机号实验名称所用软件教师签名实验操作实验分析实验成绩6.1 实验目的1熟悉函数的一般形式以及函数的定义与调用。2掌握函数实参与形参的对应关系以及“值传递”的方法。3掌握自定义函数的编写。4掌握函数的嵌套调用和递归调用方法。5掌握全局变量、局部变量、动态变量、静态变量的概念和使用方法。6.2 实验预习1函数的概念、定义格式、声明格式、调用规则及调用过程中数据传递方法过程,寒暑的嵌套调用和递归调用。2宏定义和文件包含等编译预处理指令。6.3 实验任务1实验指导书P37【上机题1】。2程序填空。阅读程序,将程序改写成函数调用形式,在相应位置填写合适的语句完成程序设计。(提示:定义函数int f(int x),判断x是否为奇数,若是则函数返回1,否则返回0。)#include stdio.hvoid main()int data;scanf(%d,&data);if(data%2!=0) printf(%d,YES!n,data);else printf(%d,NO!n,data);#include stdio.hvoid main()int data,flag;______________(1)________; /*填空位置1,声明函数*/scanf(%d,&data);flag=_____(2)______; /*填空位置2,调用函数,并将返回值赋给变量flag*/if(flag=1) printf(%d,YES!n,data);else printf(%d,NO!n,data);int f(int x)int z;If(x%2!=0) z=1;else z=0;_________(3)___________; /*填空位置3,带回返回值*/3实验指导书P38【上机题3(2)】。4实验指导书P38【上机题3(3)】。5阅读以下程序,运行并记录实验结果。 #include”stdio.h”int a, b;void fun() a=100; b=200; void main( )int a=5, b=7;fun();printf(“%dd n”, a,b); 6实验指导书P40【上机题5】。7实验指导书P41【上机题7】。8阅读程序,调试程序并记录实验运行结果。#include stdio.h#define M 3void main()int v;v=M*M;printf(mul=%dn,v);9已知定义如下:f(1)=1,f(2n)=f(n),f(2n+1)=f(n)+f(n+1)。编写递归函数,并计算f(100)和f(151)的值。#include stdio.hint f(int n)/*补充函数体部分*/void main()printf(f(100) = %dn,f(100);printf(f(151) = %dn,f(151);10 编写程序代码。已知某一正整数,其各位数字均为素数,而且各位数字之和也为素数。比如235,各位数字2、3、5以及各位数字之和2+3+5=11也为素数。编程找出11000中满足条件的所有正整数,并将结果按每行5个输出。6.4 实验报告1.完成【实验任务1】,并记录实验结果。表6-1 实验任务1 结果记录表人工分析结果实验运行结果Turbo_ C 2.0Turbo_ C 2.02程序填空。将程序改写成函数调用形式,并补充完整。表6-2 实验任务2 结果记录表填空位置(1)int f(int x);填空位置(2)f(data) ; 填空位置(3)return z; 3.完成【实验任务3】,并记录实验结果。表6-3 实验任务3结果记录表人工分析结果实验运行结果(1)x=2 y=3 z=0(2)x=2 y=3 z=0(3)x=10 y=9 z=5(4)x=2 y=3 z=0(1)x=2 y=3 z=0(2)x=2 y=3 z=0(3)x=10 y=9 z=5(4)x=2 y=3 z=0分析:程序中函数调用中的形参是否后会影响实参的结果?不会 。如果不会的原因是:实参向形参进行的是单向“值传递”,形参改变不会影响实参的值。4完成【实验任务4】,并记录实验结果。表6-4 实验任务4 结果记录表填空位置(1)c=0填空位置(2)return c填空位置(3)&x5.完成【实验任务5】,并记录实验结果。表6-5 实验任务5 结果记录表人工分析结果实验运行结果5757人工分析结果和实验运行结果是否有差异? 。若有差异,分析产生差异的原因是:主函数中输出的实际上是主函数中定义的局部变量a和b,全局变量a和b的值在子函数fun中分别被赋值为100和200,但是当局部变量和全局变量同名时,局部变量屏蔽全局变量。6完成【实验任务6】,并记录实验结果。表6-6 实验任务6结果记录表人工分析结果实验运行结果(1)a=2(2)a=4(3)a=64(4)a=64(1)a=2(2)a=4(3)a=64(4)a=64说明:“static int a=6;”语句表示对外部静态整型变量初始化。外部变量是全局变量,变量在程序全程中有效。在mian()函数内,a的初始值为2,调用函数p1()时,a被赋值为4,再调用函数p2()时,a被赋值为64。根据变量说明位置,可将变量分为局部变量和全局变量。局部变量和全局变量的作用域不同,同时可使用的存储类型也不同,二者区别如下表所示。类型说明位置可使用的存储类型作用域局部变量程序函数内auto、static、register自动义位置起到函数结束全局变量函数外static自定义起到程序结束当局部变量和全局变量同名时,在局部变量的作用范围内,起作用的是局部变量。 7完成【实验任务7】,并记录实验结果。表6-7实验任务7结果记录表人工分析结果实验运行结果100+2+1=103110+2+2=114120+2+3=125130+2+4=136140+2+5=147100+2+1=103110+2+2=114120+2+3=125130+2+4=136140+2+5=1478阅读程序,调试程序并记录实验运行结果。(1)实验运行结果:mul= mul=9 。(2)若宏定义改为:#define M 3+2,实验运行结果为: mul=11 。(3)若宏定义改为:#define M (3+2),实验运行结果为: mul=25 。9完成【实验任务7】,补充函数体部分int f(int n)int fun;if(n=1) fun=1;else if(n%2=0) fun=f(n/2);else if(n!=1&n%2!=0) fun=f(n-1)/2)+f(n+1)/2);return fun;10编写的程序如下:#include stdio.h#include math.hint prime(int x)int i;for(i=2;i=x;i+)if(x%i=0) break;return i=x;void main()int i,j,n=0,t;printf(15000, prime is in the below list.n);for(i=1;i=1000;i+)j=i;t=0;while(j!=0&prime(j%10)t=t+j%10;j=j/10;if(j=0&prime(t)if(n%5=0) printf(n);printf(“%5d”,i);n+;实验7 数组院(系):信息科学与技术学院 课程名称:高级语言程序设计日期:班级学号实验室专业姓名计算机号实验名称所用软件教师签名实验操作实验分析实验成绩7.1 实验目的1熟练掌握一维数组、二维数组的定义、赋值、输入、输出方法。2熟练掌握字符数组和字符串函数的使用。3熟练掌握一维数组以及一维数组元素的存储关系。4熟练掌握一维数组和二维数组的使用以及在函数中的传递。5通过上级实践掌握与数组有关的算法。7.2 实验预习1熟悉循环语句与数组处理语句结合的方法。2复习一维数组、二维数组的定义、初始化和数组元素的引用。3复习数组的应用:批量处理数据、查找、排序和矩阵的处理。4复习字符数组的定义和使用。5复习字符串的含义、存储和字符串函数的功能。6复习函数调用时参数的传递过程。7.3 实验任务1.调试并运行以下程序,完成相应实验任务。main() int i,sum,a5,b5,c5; /*变量说明,数组说明*/int d=5,8,4,6,4,3,8,2,4,5,6; /*数组元素初始化*/sum=0;a0=2,a1=6,a2=4,a3=8,a4=9;b0=2,b1=7,b2=9,b3=5,b4=3;for(i=0;i=4;i+) ci=ai*bi;printf(c%d=%dn,i,ci); for(i=0;i=10;i+)sum+=di; /*求数组元素之和*/printf(sum=%dn,sum); 2.实验指导书P43【上机题3】。3程序填空,在有序数据序列中插入一个数据,插入后仍然保证数据序列的有序性。原始数据序列为:5,8,12,15,26,78,92,93,102,需要插入的数据值为25。算法思想:(1)通过比较,确定需要插入的位置。(2)从插入位置开始,所有数据依次右移(后移)1位,然后将数据插入到确定的位置上。#include stdio.h#define N 10int aN=5,8,12,15,26,78,92,93,102;main()int i,j,k,data=25;for(i=0;iN-1;i+)if(dataai)k=i; break; /*填空位置(1),语句功能是:_______________*/for(j=N-2;j=k;j-)______(2)____; /*填空位置(2),插入位置之后所有元素依次右移1位*/______(3)______; /*填空位置(3),将指定的数据插入到有序序列中*/for(i=0;i=N-1;i+)printf(%5d,ai);123456789101112131415164程序填空,计算矩阵边界元素的和。#include stdio.h#define M 4#define N 4main() int i,j,s=0;int aMN=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16;for(i=0;i=M-1;i+)for((1)____;(2)_____;j+)if((3)____) s=s+aij;printf(sum=%dn,s); 5. 实验指导书P45页【上机题6】。6. 实验指导书P45页【上机题7】。7. 阅读实验指导书P45页【上机题8】,完成【上机题9】的程序代码编写。8. 实验指导书P45页【上机题11】。7.4 实验报告1. 完成【实验任务1】,记录运行结果。表8-1实验任务1结果记录表实验运行结果分析:数组初始化赋值的方法有哪些?__可以定义时进行初始化,也可以通过循环进行人机交互让用户初始化数组。 2.完成【实验任务2】,填空上机调试程序记录运行结果。表8-2 实验任务2结果记录表填空位置填空语句(或表达式)1&ai2ai3ai实验运行结果输出5个数中最大的和对应的下标3完成【实验任务3】,填空并上机调试程序记录运行结果。表8-3 实验任务3结果记录表填空位置填空语句1确定插入位置2aj+1=aj3ak=25实验运行结果5,8,12,15,25,26,78,92,93,1024完成【实验任务4】,填空并上机调试程序记录运行结果。表8-4 实验任务4结果记录表填空位置填空语句(或表达式)1j=02j=N-13i=0|i=3|j=0|j=3实验运行结果102分析:如果改成求对角线以上的数据之和,应如何修改程序? 将(3)改成i=j 。5. 完成【实验任务5】,记录运行结果。表8-5实验任务5结果记录表实验运行结果分析:如果数组定义为:char a6=FOXPRO,是否能得出正确答案不能。不能得出正确结果的话,出错的原因是字符串的长度超出了数组的长度。6. 完成【实验任务6】,记录运行结果。表8-6实验任务6结果记录表实验运行结果7. 完成【实验任务7】,完成程序代码编写。#include stdio.hvoid antitone(int a,int n)int b10;for(n=0;n10;n+)b9-n=an; for(n=0;n10;n+)an=bn;int main()int a10;int n;for(n=0;n10;n+)scanf(%d, &an);antitone(a,10);for(n=0;n10;n+)printf(%d ,an);return 0;8. 完成【实验任务8】,编写程序代码。 #include stdio.hmain() float a23;int m,n;int i,j;float av1=0;float max=0;int count=0,sumcount=0;for(i=0;i2;i+)for(j=0;j3;j+)scanf(%f,&aij);for(i=0;i2;i+)av1=0;for(j=0;j3;j+)av1 += aij;av1=av1/3;printf(第%d个学生的平均分是%f ,i+1,av1);printf(n);for(i=0;i3;i+)av1=0;for(j=0;j2;j+)av1 += aji;av1=av1/j;printf(第%d门课的平均分是%f ,i+1,av1);printf(n);for(i=0;i2;i+)for(j=0;j3;j+)printf(第%d个学生的第%d门课成绩是%f,i+1,j+1,aij);printf(n);/* 取最大值对应的学号和课程 */max =a00;for(i=0;i2;i+)for(j=0;j3;j+)if(aij=max) max = aij;m = i;n = j;printf(max is: %f,学号:%d,课程:%d,max,m+1,n+1);printf(n);/*统计每门课都90分的学生数字*/for(i=0;i2;i+)for(j=0;j3;j+)if(aij=90) count+;if(count % 3=0 & count!=0) sumcount+;printf(sumcount=%d,sumcount);实验8综合实验院(系):信息科学与技术学院 课程名称:高级语言程序设计日期:班级学号实验室专业姓名计算机号实验名称所用软件教师签名实验操作实验分析实验成绩8.1 实验目的通过本次实验,使学生能够灵活运用所学知识,完成程序设计,进一步提高程序设计的能力。8.2 实验预习1复习三种基本结构(顺序、选择、循环)的相关知识。2复习函数的相关知识。3复习数组的相关知识。8.3 实验任务输入一组数据,完成这组数据的排序并用二分算法实现查找。1功能要求:实现以下四个功能。(1)由键盘输入一组数据。(2)任意选择某种算法完成对这组数据的排序。(3)从键盘输入需要查找的数据,用二分算法在排序好的这组数据中完成查找。查找成功,输出该数据在这组数据中的位置;查找失败,用-1表示。2具体要求:(1)数据个数的声明在程序中用宏定义完成。(2)所有的键盘输入都要有提示。(3)排序功能和查找功能分别需要自定义函数独立完成。3实验报告内容:(1)按程序功能分模块画出相应的流程图。(2)写出完整的程序源代码清单。8.4 实验报告1按程序功能分模块画出相应的流程图。开始low=0;high=N-1;data=smidflag=0;mid=(low+high)/2;break;flag=1;printf(“%dn”,mid);datasmidlow=mid+1;low=highhigh=mid-1;flag=0结束printf(“NO!n”);YNNYNYY(1)查找模块(2)排序模块:采用的排序方法为冒泡排序开始i=0;jN-ij=0;j+;交换aj和aj+1iN-1结束i+;YYajaj+1NYY2写出完整的程序源代码清单。#include stdio.h#define N 10int sN;void sort(int a)int i,j,t;for(i=0;iN;i+)for(j=0;jN-i;j+)if(ajaj+1) t=aj; aj=aj+1; aj+1=t;for(i=0;iN;i+)printf(%4d,ai);printf(n);void search(int a,int data)int low=0,high=N-1,mid,flag=0;while(low=high)mid=(low+high)/2;if(data=amid) flag=1; printf(YES!%dn,mid); break;else

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值