实验四-数组(二)
labview实验四
虚拟仪器实验报告四专业年级电信081班姓名学号08808030 成绩一、实验目的:LabVIEW编程软件入门学习二、实验内容:实验四字符串、数组、簇和矩阵4.1 字符串(String)4.2 数组(Array)4.3 簇(Cluster)4.4 矩阵(Matrix)三、实验结果:练习1组合字符串使用一些字符串功能函数将一个数值转换成字符串,并把该字符串和其他一些字符串连接起来组成一个新的输出字符串。
打开一个新的前面板,按照下图向其中添加对象练习2 字符串子集和数值的提取创建一个字符串的子集,其中含有某个数值的字符串显示,再将它转换成数值。
练习3 Build Text Express VI练习4 用循环创建数组使用For循环和While循环的自动索引(auto-indexing)功能自动创建数组。
练习5 创建二维数组使用两个嵌套的For循环(即一个循环在另一个循环内)可以创建二维数组。
嵌套的For循环创建二维数组时,外层循环创建行,内层循环创建列。
练习6 多图区图形创建含有多条曲线的图形,方法是创建一个数组,用它汇集传给单图区图形的类型的数据元素。
练习7使用创建数组功能函数使用创建数组函数,把一些元素和输出组织成一个更大的数组。
练习8 多态化练习多态化练习2练习9 簇排序前面板包含两个簇。
第一个簇中,第一个组件是数字控件;第二个簇中,第一个组件是数字指示器。
第一个图中簇控件正确连接到簇指示器。
第二个图中,簇顺序改变,此时连线无效。
练习10簇目的:学习创建簇、分解簇,再捆绑簇并且在另一个簇中显示其内容。
为第3章的习题2连续温度采集监测添加报警信息,如下图所示,当报警发生时输出报警信息,例如“温度超限!当前温度78.23℃”,正常情况下输出空字符串。
四、实验总结:这次实验的主要内容是字符串、数组、簇和矩阵,综合看来本次实验的内容更为晦涩难懂一些,从我的理解,前几次的实验时候的思想主要是一维的,平面的,而这回的实验内容要求我们用立体的,二维的思维去思考。
改错编程题
++n;
s+=n;
}
cout<<"n="<<n<<'\t'<<"s="<<s<<'\n';
}
4、
#include<iostream.h>
#include<math.h>
void main()
{
float x0,x1,x2;
double y0,y1,y2;
do{
cout<<"请输入方程的两个初始区间值:";
else{
for(b=0;a;b++)
{
c=a%10;
cout<<'\t'<<c;
a=a/10;
}
cout<<"共"<<b<<"位数";//当输入数字是012时,其实输入的是八进制数,对应的十进制是10。
}
}
2、参考程序
#include<iostream.h>
void main()
{
int a,b,c;
else if(c!=0)cout<<m<<"是个3位数,"<<"逆序各位数字是"<<a<<'\t'<<b<<'\t'<<c<<endl;
else if(b!=0)cout<<m<<"是个2位数,"<<"逆序各位数字是"<<a<<'\t'<<b<<endl;
数组实验报告反思心得
一、实验背景本次实验旨在通过学习数组的相关知识,掌握数组的定义、初始化、赋值、引用等方法,以及数组的操作和应用。
通过本次实验,我对数组有了更深入的理解,同时也对编程思维和算法设计有了更全面的提升。
二、实验过程1. 实验一:一维数组的定义与初始化实验过程中,我首先学习了如何定义一维数组,以及如何对数组进行初始化。
通过实验,我掌握了以下知识:(1)一维数组的定义格式:类型符数组名[常量表达式];(2)一维数组的初始化方法:在定义数组时,可以在方括号内指定数组的长度,并为数组元素赋初值。
2. 实验二:二维数组的定义与初始化在实验二,我学习了二维数组的定义与初始化。
通过实验,我掌握了以下知识:(1)二维数组的定义格式:类型符数组名[常量表达式1][常量表达式2];(2)二维数组的初始化方法:可以在定义数组时,指定数组的行数和列数,并为数组元素赋初值。
3. 实验三:数组元素的引用与赋值在实验三,我学习了如何引用数组元素,以及如何为元素赋值。
通过实验,我掌握了以下知识:(1)数组元素的引用方法:数组名[下标];(2)数组元素的赋值方法:使用赋值运算符“=”。
4. 实验四:数组的操作与应用在实验四,我学习了数组的操作与应用,包括冒泡排序、选择排序等。
通过实验,我掌握了以下知识:(1)冒泡排序算法:通过比较相邻元素的大小,将较大的元素交换到后面,直到整个数组有序。
(2)选择排序算法:通过比较相邻元素的大小,选择最小(或最大)的元素放到数组的起始位置,然后继续对剩余的元素进行排序。
三、实验反思1. 数组的定义与初始化在实验过程中,我深刻体会到了数组在编程中的重要性。
数组作为一种数据结构,可以有效地存储和操作一组具有相同数据类型的元素。
通过对数组的定义与初始化,我学会了如何创建一个符合实际需求的数组,并为数组元素赋初值。
2. 数组元素的引用与赋值在实验过程中,我学会了如何引用数组元素,以及如何为元素赋值。
这使我更加熟练地掌握了数组的使用方法,为后续的编程实践打下了基础。
数据结构实验报告(C语言)(强力推荐)
数据结构实验实验内容和目的:掌握几种基本的数据结构:集合、线性结构、树形结构等在求解实际问题中的应用,以及培养书写规范文档的技巧。
学习基本的查找和排序技术。
让我们在实际上机中具有编制相当规模的程序的能力。
养成一种良好的程序设计风格。
实验教材:数据结构题集(C语言版)清华大学出版社2007年实验项目:实验一、栈和循环队列㈠、实验内容:①栈掌握栈的特点(先进后出FILO)及基本操作,如入栈、出栈等,栈的顺序存储结构和链式存储结构,以便在实际问题背景下灵活应用。
本程序采用的是链栈结构,具有初始化一个栈、PUSH、POP、显示所有栈里的元素四个功能。
②循环队列掌握队列的特点(先进先出FIFO)及基本操作,如入队、出队等,学会循环队列的实现,以便在实际问题背景下灵活运用。
本程序具有初始化一个队列、入队、出队、显示队列的所有元素、队列长度五个功能。
㈡、实验代码①栈程序代码:#include <stdio.h>#include <malloc.h>#define Stack_Size 6#define ERROR 0#define OK 1typedef int SElemType;typedef struct SNode{SElemType data;struct SNode *next;}SNode,*LinkStack;int CreatTwo(LinkStack &head,int n){int i;SNode *p;head=(LinkStack)malloc(sizeof(SNode));head->next=NULL;printf("请输入数据(数字):\n");for(i=n;i>0;--i){p=(SNode *)malloc(sizeof(SNode));scanf("%d",&p->data);p->next=head->next;head->next=p;}return 1;}int menu_select(){int sn;for(;;){scanf("%d",&sn);if(sn<1||sn>6)printf("\n\t输入错误,请重新输入\n");elsebreak;}return sn;}int Push(LinkStack &top,SElemType e){SNode *q;q=(LinkStack)malloc(sizeof(SNode));if(!q){printf("溢出!\n");return(ERROR);}q->data=e;q->next=top->next;top->next=q;return(OK);}int Pop(LinkStack &top,SElemType &e){SNode *q;if(!top->next){printf("error!\n");return(ERROR);}e=top->next->data;q=top->next;top->next=q->next;free(q);return(OK);}void main(){ int e;LinkStack top;printf("1.初始化一个栈;\n2.PUSH;\n3.POP;\n4.显示所有栈里的元素;\n5.结束;\n");while(1){switch(menu_select()){case 1:if(CreatTwo(top,Stack_Size))printf("Success!\n");break; case 2:printf("Push:\n");scanf("%d",&e);if(Push(top,e))printf("Success!\n");break;case 3:if(Pop(top,e))printf("Success!\n");printf("%d\n",e);break;case 4:LinkStack p;printf("所有栈里的元素:\n");p=top;while(p->next){p=p->next;printf("%7d",p->data);}printf("\n");break;case 5:return;}}}运行结果:②循环队列程序代码:#include<stdlib.h>#include<stdio.h>#define OVERFLOW -1#define OK 1#define ERROR 0#define MAXSIZE 100typedef struct{int *elem;//队列存储空间int front;int rear;}SqQueue;//判断选择是否正确int menu_select(){int sn;for(;;){scanf("%d",&sn);if(sn<1||sn>6)printf("\n\t输入错误,请重新输入\n");elsebreak;}return sn;}//参数(传出)SqQueue &Q,循环队列(空)int InitQueue(SqQueue &Q){Q.elem=(int *)malloc(MAXSIZE*sizeof(int));if(!Q.elem)exit(OVERFLOW);Q.front=Q.rear=-1;for(int i=0;i<MAXSIZE;i++)Q.elem[i]=-1;return OK;}//返回Q的元素个数int QueueLength(SqQueue Q){return (Q.rear-Q.front+MAXSIZE)%MAXSIZE;}//显示队列的元素void Display(SqQueue Q){for(int i=0;i<=QueueLength(Q);i++)if(Q.elem[i]!=-1)printf("%d ",Q.elem[i]);printf("\n");}//入队int EnQueue(SqQueue &Q,int e){Q.rear=(Q.rear+1)%MAXSIZE;if(Q.rear==Q.front)return ERROR;Q.elem[Q.rear]=e;return OK;}//出队int DeQueue(SqQueue &Q,int &e){if(Q.front==Q.rear)return ERROR;e=Q.elem[Q.front+1];Q.elem[Q.front+1]=-1;Q.front=(Q.front+1)%MAXSIZE;return OK;}void main(){SqQueue Q;InitQueue(Q);int elem,e;printf("请输入队列元素(以0结束):\n");scanf("%d",&elem);while(elem!=0){EnQueue(Q,elem);scanf("%d",&elem);}printf("队列为:\n");Display(Q);printf("1.初始化一个队列;\n2.入队;\n3.出队;\n4.显示队列的所有元素;\n5.队列长度:\n6.结束;\n");while(1){switch(menu_select()){case 1:printf("请输入队列元素(以0结束):\n");scanf("%d",&elem);while(elem!=0){EnQueue(Q,elem);scanf("%d",&elem);}printf("队列为:\n");Display(Q);fflush(stdin);break;case 2:scanf("%d",&elem);EnQueue(Q,elem);printf("队列为:\n");Display(Q);fflush(stdin);break;case 3:DeQueue(Q,elem);printf("队列为:\n");Display(Q);break;case 4:printf("\n队列的所有元素:\n");Display(Q);break;case 5:printf("%d\n",QueueLength(Q));break;case 6:return;}}}运行结果:实验二、数组㈠、实验内容:数组一般不做插入或删除操作,也就是说,一旦建立了数组,则结构中的数据元素个数和元素之间的关系就不再发生变动。
《c语言程序设计》教学大纲
《C语言程序设计》教学大纲课程名称:中文名称:C语言程序设计;英文名称:C Language Programming课程编码:161002学分:4.5分总学时:72学时,其中,理论学时:52学时;上机学时:20学时。
适用专业:全校理工科各专业先修课程:计算机基础执笔人:审订人:一、课程的性质与任务《C语言程序设计》是为全校所有的理工科专业的学生开设的公共基础课,也是一门重要的必修课。
其目的是使学生掌握程序设计的基本方法,培养学生掌握利用计算机处理问题的思维方法与应用能力。
要求学生掌握程序的三种基本结构及结构化的程序设计方法,了解并掌握几种典型的算法,并且能够熟练地运用C语言编写各种应用程序,为进一步学习其它相关课程奠定基础。
二、教学内容与学时分配第一章程序设计基本概念(3学时)本章重点:一、算法及特性;二、结构化程序设计方法。
难点:算法设计及其表示。
第一节程序和程序设计一、程序;二、程序设计。
第二节算法第三节结构化程序设计方法第四节C语言程序的基本结构第二章数据类型、运算符和表达式(5学时)本章重点:一、标识符的正确使用;二、各种基本数据类型的使用;三、算术运算符的优先级和结合性;四、表达式计算中的类型转换。
难点:一、各种类型数据在计算机内存中的存储形式;二、自增自减运算。
第一节C语言的数据类型第二节常量与变量第三节整型数据第四节实型数据第五节字符型数据第六节算术运算符与算术表达式第七节赋值运算符与赋值表达式一、赋值运算符和赋值表达式;二、复合的赋值表达式;三、自加、自减运算符;四、赋值运算中的类型转换。
第八节逗号运算符与逗号表达式第三章顺序结构程序设计(4学时)本章重点:一、printf函数;二、scanf函数。
难点:输入与输出时的格式控制。
第一节C语句概述第二节赋值语句第三节数据的输入与输出一、printf函数;二、putchar函数;三、scanf函数;四、getchar函数第四节顺序结构程序举例第四章选择结构程序设计(4学时)本章重点:一、逻辑值的表示、使用及其运算;二、关系运算符的运算规则及关系表达式;三、逻辑运算符的运算规则及逻辑表达式;四、if语句;五、switch语句的形式与执行过程。
C语言上机实验1-18
实验一C程序的运行环境及简单程序编写一、实验目的1.了解tc2.0编译系统的基本操作方法,学会独立使用该系统。
2.了解在该系统上如何编辑、编译、连接和运行一个C程序。
3.通过运行简单的C程序,初步了解C源程序的特点。
二、实验内容1.编写一个计算球体体积的程序,要求用户自行录入球体的半径。
参考公式V=4/3πr3.。
2.编写一个程序,要求用户输入一个美金数量,然后显示出如何用最少的20美元、10美元、5美元和1美元来付款。
运行结果:Ener a dollar amount:93$20 bills:4$10 bills:1$5 bills:0$1 bills:3实验二顺序结构程序设计一、实验目的1.熟悉C语言中的基本数据类型,掌握定义常量和变量以及对它们赋值的方法,了解数据输出时所用格式转换符。
2.掌握格式输入/输出函数的用法。
3.学会简单顺序程序的设计。
4.养成良好的程序设计习惯。
二、实验内容1.编写一个程序,对用户录入的产品信息进行格式化。
Enter item number:583Enter unit price:13.5Enter purchase date(mm/dd/yyyy):3/24/2010Item Unit PurchasePrice date583 $ 13.50 3/24/20102.编写一个程序,要求用户输入一个两位数,然后按数位的逆序打印出这个数。
Enter a two-digit number:28The reversal is :82实验三选择结构程序设计一、实验目的1.熟练使用if、switch编写程序。
二、实验内容1.编写一个程序,确定一个数的位数。
Enter a number:374The number 374 has 3 digits假设输入的数最多不超过4位。
提示:利用if语句进行数的判定。
例如,如果数在0到9之间,那么位数为1;如果数在10到99之间,那么位数为2。
高级语言程序设计(VB)HTH
高级语言程序设计(VB) 〖HTH〗课程编号:62130312类〓〓别:函授层〓〓次:专升本讲课学时:28自学学时:112实验学时:18 [HT]〖BT1〗一、本课程地位、作用和任务本课程是为非计算机专业学生开设的一门当前流行的程序设计语言课程。
通过该课程的学习使学生不但要掌握高级语言程序设计的能力,同时也要掌握最新的面向对象的程序设计方法,能运用所学的知识开发图形界面下的应用程序,为培养学生结合专业进行软件开发的能力打好基础。
〖BT1〗二、本课程对先修课的要求本课程的先修课是计算机实用基础。
要求学生掌握计算机语言的基本概念、高级语言程序设计相关的基本概念、简单的编程步骤,建立用高级语言编写程序的意识。
学生应具备必要的计算机软硬件基本知识(包括CPU,存储器,输入/输出设备,Windows操作系统,各种应用软件等)。
熟练掌握微机常用输入/输出设备的使用(包括键盘,鼠标,显示器和打印机)。
学会使用Windows95的基本操作方法(包括文件系统,菜单,文本编辑,中文输入法及剪贴板等)。
〖BT1〗三、教学内容和教学要求Ⅰ.教学的要求1.掌握面向对象的程序设计的基本概念和方法。
2.掌握VisualBasic的基本语句、常用控件和常用的算法。
3.初步掌握VisualBasic的高级编程技术。
Ⅱ.教学基本内容(一)VisualBasic程序设计概述1.VB简介2.VB功能特点3.VB的运行环境、安装和启动4.集成开发环境(二)VB简单的程序设计1.Vb中对象的概念2.建立一个简单的应用程序3.最基本的4个控件的使用(窗体、标签、文本框和命令按钮)4.工程管理(三)VB语言基础1.源程序的书写规则2.数据类型3.变量与常量4.运算符和表达式5.常用函数(四)基本的控制结构1.顺序结构2.选择结构3.循环结构4.其他辅助控制语句(GoTo和End语句)5.与控制结构相关的常用算法(五)数组6.数组的概念7.静态数组8.动态数组9.控件数组10.自定义数据类型11.与数组相关的常用算法(六)过程1.函数过程2.子过程3.参数传递4.变量、过程的作用域(简单掌握)5.递归(简单掌握)(七)常用控件1.单选钮、检查框和框架2.滚动条3.列表框4.组合框5.时钟6.多重窗体7.高级控件(简单掌握)8.高级事件过程(简单掌握) (八)可视界面(可以自学)1.通用对话框(CommonDialog)2.菜单设计编辑器3.多文档窗体(Form)4.工具栏、状态栏(九)文件1.驱动器、目录和文件列表框 2.文件及其结构3.顺序文件4.随机文件5.二进制文件〖BT1〗四、实验内容以及要求实验一〓顺序程序设计(1学时)实验二〓选择结构程序设计(2学时)实验三〓循环结构程序设计(2学时)实验四〓数组(2学时)实验五〓过程(2学时)实验六〓常用控件(2学时)实验七〓菜单、文件(1学时)每个实验的具体题目可以选用教材的例题和课后习题。
C语言实验学生版(最新版)
实验一:简单的C程序设计(2学时)一、实验方式:一人一机二、实验目的:1、了解C语言程序的编译环境和编写过程。
2、掌握C语言程序在Visual C++ 6.0环境下的调试过程。
3、初步了解C语言程序的特点。
4、掌握C语言的数据类型。
三、实验内容:1、计算两个数x和y的和。
(教材P5【例1-2】)2、从键盘输入华氏温度h,输出摄氏温度c(摄氏温度=5/9*(华氏温度-32))。
(实验教材P18)3、给定圆环,输入内圆环半径r1、外圆环半径r2,求出圆环的面积。
(实验教材P27)4、从键盘上输入两个整数x、y,实现两个数的交换,并求出最大值、最小值和两个数的平均值。
(实验教材P21)5、输入并运行以下程序,分析运行结果。
(实验教材P27)#include <stdio.h>void main( ){int i,j;i=8; j=10;printf(“%d,%d\n”,++i,++j);i=8; j=10;printf(“%d,%d\n”,i++,j++);i=8; j=10;printf(“%d,%d\n”,++i,i);i=8; j=10;printf(“%d,%d\n”,i++,i);}四、实验程序代码:五、实验运行结果(截图):实验二:顺序结构程序设计(2学时)一、实验方式:一人一机二、实验目的:1、掌握标识符、常量、变量的定义及使用。
2、掌握C语言的常用运算符及表达式。
3、掌握单分支if语句的使用方法。
4、掌握双分支if-else语句的使用方法。
三、实验内容:1、从键盘输入一个3位整数,请输出该数的逆序数。
(实验教材P27)2、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。
(实验教材P27)3、判断箱子是正方体还是长方体。
(实验教材P33)4、有一函数: x (x<1)y= 2x-1 (1≤x<10)3x-11 (x≥10) 编写程序,输入x值,输出y值。
数组应用的实验报告
一、实验目的1. 掌握数组的定义、声明、初始化和引用方法。
2. 熟悉数组在数据存储和操作中的优势。
3. 学习并实现一些常用的数组操作,如排序、查找、插入和删除等。
4. 提高编程能力,培养解决实际问题的能力。
二、实验环境1. 操作系统:Windows 102. 编译器:Visual Studio 20193. 编程语言:C++三、实验内容1. 一维数组的定义、初始化和引用2. 二维数组的定义、初始化和引用3. 数组元素的查找4. 数组元素的排序5. 数组元素的插入和删除四、实验步骤1. 一维数组的定义、初始化和引用(1)定义一个整型一维数组,并初始化前5个元素为1、2、3、4、5。
(2)使用循环遍历数组,输出所有元素。
(3)使用指针遍历数组,输出所有元素。
2. 二维数组的定义、初始化和引用(1)定义一个整型二维数组,并初始化前3行3列的元素。
(2)使用嵌套循环遍历数组,输出所有元素。
(3)使用指针遍历数组,输出所有元素。
3. 数组元素的查找(1)定义一个整型数组,并初始化前10个元素为1、2、3、4、5、6、7、8、9、10。
(2)编写一个函数,用于查找数组中是否存在指定的元素。
(3)在主函数中调用该函数,查找元素5在数组中的位置。
4. 数组元素的排序(1)定义一个整型数组,并初始化前10个元素为1、2、3、4、5、6、7、8、9、10。
(2)编写一个冒泡排序函数,用于对数组进行排序。
(3)在主函数中调用该函数,对数组进行排序,并输出排序后的结果。
5. 数组元素的插入和删除(1)定义一个整型数组,并初始化前10个元素为1、2、3、4、5、6、7、8、9、10。
(2)编写一个插入函数,用于在数组中插入一个新元素。
(3)编写一个删除函数,用于删除数组中的指定元素。
(4)在主函数中调用插入和删除函数,对数组进行操作,并输出操作后的结果。
五、实验结果与分析1. 一维数组的定义、初始化和引用实验结果:成功定义、初始化和引用了一维数组,并输出所有元素。
java实验报告--数组
java实验报告--数组Java实验报告 - 数组引言:Java是一种广泛应用于软件开发的编程语言,其强大的数组功能使得它成为处理大量数据的理想选择。
本实验报告将探讨Java中数组的基本概念、使用方法以及一些常见的应用场景。
一、数组的定义与初始化在Java中,数组是一种用于存储多个相同类型元素的数据结构。
数组可以存储基本数据类型(如整数、浮点数等)或者对象。
声明一个数组需要指定元素的类型和数组的名称,然后使用关键字"new"来创建数组对象。
二、数组的访问与操作通过索引(index)可以访问数组中的元素,索引从0开始计数。
例如,对于一个长度为10的整数数组,可以使用arr[0]来访问第一个元素,arr[1]来访问第二个元素,以此类推。
数组的长度可以通过arr.length来获取。
三、数组的遍历与排序遍历数组是指逐个访问数组中的元素。
常用的遍历方法有使用for循环和foreach循环。
对于需要对数组进行排序的情况,可以使用Java提供的排序算法(如快速排序、冒泡排序等)或者使用Arrays类中的sort方法。
四、多维数组除了一维数组,Java还支持多维数组。
多维数组可以看作是数组的数组,可以用于存储表格、矩阵等结构化数据。
在声明多维数组时,需要指定每一维的长度。
五、数组的应用场景1. 数据存储与处理:数组可以用于存储和处理大量数据,如学生成绩、员工工资等。
通过数组,可以方便地进行数据的查找、排序和统计等操作。
2. 图像处理:图像可以用二维数组表示,每个元素代表一个像素点的颜色值。
通过对数组的操作,可以实现图像的旋转、缩放等功能。
3. 算法实现:许多算法的实现都需要使用数组,如查找算法、排序算法等。
数组的高效访问和操作使得算法的实现更加简洁和高效。
六、实验案例:数组的查找与统计为了更好地理解数组的应用,我们设计了一个实验案例:数组的查找与统计。
假设有一个整数数组,我们需要找到其中的最大值、最小值、平均值以及某个特定元素的出现次数。
程序设计的实验报告答案
程序设计的实验报告答案程序设计的实验报告答案引言:在计算机科学与技术领域,程序设计是一项重要的技能。
通过实验,我们可以学习和掌握不同编程语言的基本概念和技术,提高我们的编程能力。
本文将从实验的角度,探讨程序设计的一些关键问题和解决方案。
实验一:变量和数据类型在程序设计中,变量和数据类型是最基本的概念。
在实验一中,我们需要学习如何声明和使用变量,以及不同的数据类型。
例如,整数、浮点数、字符和字符串等。
对于不同的数据类型,我们需要了解它们的特点和使用方法,以便正确地进行计算和处理。
实验二:控制结构控制结构是程序设计中用于控制程序流程和执行顺序的重要工具。
在实验二中,我们将学习条件语句、循环语句和分支语句等控制结构的使用方法。
通过掌握这些知识,我们可以根据不同的条件和需求,灵活地控制程序的执行路径,实现复杂的逻辑和功能。
实验三:函数和模块化在实际的程序开发中,模块化是一种重要的设计原则。
通过将程序分解为不同的函数模块,可以提高代码的可读性、可维护性和重用性。
在实验三中,我们将学习如何定义和调用函数,以及如何使用参数和返回值传递数据。
通过合理地设计和使用函数,我们可以将程序分解为多个独立的功能模块,提高程序的效率和可靠性。
实验四:数组和数据结构数组是一种常用的数据结构,用于存储和处理大量的数据。
在实验四中,我们将学习如何声明和使用数组,以及如何进行数组的遍历和操作。
此外,我们还将介绍一些常见的数据结构,如栈、队列和链表等。
通过掌握这些知识,我们可以更好地处理和组织数据,实现更复杂的算法和功能。
实验五:文件操作和异常处理在实际的程序开发中,文件操作和异常处理是不可或缺的技能。
在实验五中,我们将学习如何打开、读取和写入文件,以及如何处理文件操作中可能出现的异常。
通过合理地处理异常,我们可以提高程序的健壮性和可靠性,避免程序崩溃或数据丢失的情况。
实验六:面向对象编程面向对象编程是一种常用的编程范式,通过将数据和操作封装在对象中,实现代码的模块化和重用。
《高级语言程序设计》实验报告
合肥师范学院实验报告册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;运行结果又如何?并简单分析。
c语言程序设计实验指导答案
太原理工大学现代科技学院C语言程序设计课程实验报告专业班级学号姓名指导教师焦雄5.#include <stdio.h> void main(){int a=10,n=5;a+=a;printf("%d\n",a);a=10,a-=2;printf("%d\n",a);a=10,a*=2+3;printf("%d\n",a);a=10,a/=a+a;printf("%d\n",a);a=10,a%=(n%=2);printf("%d\n",a);a=10,a+=a-=a*=a;printf("%d\n",a); }遇到的问题和解决方法心得体会实验三简单程序、分支程序和循环程序设计实验名称实验目的和要求1.理解C语言程序的基本结构和实现基本结构的语句;2.熟练应用赋值、输入和输出语句;3.理解并掌握关系运算符、逻辑运算符及其表达式的使用;4.熟练掌握if语句、switch语句、while语句、do—while语句和for语句的用法;实验内容1.输入并运行第3章例3-3、例3-6中的程序,通过输出结果理解对应的格式说明。
2.输入并运行第3章例3-8、例3-10中的程序,注意输入数据的格式。
3.已知圆柱半径r=1.5,圆柱高h=3,编程求圆周长,圆面积和圆柱体积。
4.输入一百分制成绩,输出成绩等级A、B、C、D、E。
90分以上为A,80~89为B,70~79分为C,60~69分为D,60分以下为E。
要求程序能处理错误的输入数据。
5.利用公式:π/4=1-1/3+1/5-1/7+……,求π的近似值,直到最后一项的绝对值小于10-6为止。
(fabs(t)表示t的绝对值,1e-6=1*10-6)。
6.求100-200间所有素数。
7.输出三角形的九九乘法口诀表。
8.打印水仙花数。
水仙花数是指一个3位数,其各位数字立方和等于该数本身。
c语言知识点实验总结
c语言知识点实验总结(一)实验目的C语言作为一种通用的高级程序设计语言,被广泛用于系统软件、应用软件、驱动程序、网络通信以及嵌入式系统的开发。
本次实验旨在通过对C语言知识点的实际操作,巩固学生对C语言编程基础知识的掌握,提高学生对C语言程序设计的理解和运用能力,培养学生的程序设计思维和编程实践经验。
(二)实验内容本次实验涉及的C语言知识点包括数据类型、控制语句、循环语句、数组、指针、函数等基本概念和用法。
通过实验,学生将学会如何定义变量、赋值、输入输出、运算、条件判断、循环控制、数组访问、指针使用、函数调用等基本的C语言编程操作。
具体实验内容如下:1. 数据类型:学生需了解C语言的基本数据类型(int、float、char等),并能够正确地声明和初始化各种数据类型的变量。
2. 控制语句:学生需掌握if-else语句和switch-case语句的用法,并能够正确地使用这些控制语句来实现条件判断和分支选择的功能。
3. 循环语句:学生需掌握for循环、while循环和do-while循环的用法,并能够正确地使用这些循环语句来实现重复执行的功能。
4. 数组:学生需了解一维数组和多维数组的定义和使用方法,并能够正确地声明、初始化和访问数组元素。
5. 指针:学生需了解指针的基本概念和使用方法,并能够正确地定义指针变量、进行指针运算、访问指针所指向的变量。
6. 函数:学生需了解函数的定义和调用方法,并能够正确地编写和调用自定义函数,以及理解函数参数传递和返回值的概念。
(三)实验环境本次实验的编程环境为C语言集成开发环境(IDE),可以选择Visual Studio、Dev C++、Code::Blocks等开发工具进行实验。
实验过程中,学生需要使用C语言编译器来编译和执行自己编写的程序代码,以验证程序的正确性和功能实现。
(四)实验步骤1. 实验一数据类型实验目的:了解C语言的基本数据类型和变量定义方法,掌握数据类型之间的转换和运算规则。
数组实验报告实验分析
一、实验目的1. 理解数组的概念和基本操作。
2. 掌握数组的创建、初始化、访问和修改方法。
3. 学习数组的排序、查找和统计等常用算法。
4. 分析数组在实际应用中的优缺点。
二、实验内容1. 数组的创建与初始化2. 数组元素的访问与修改3. 数组的排序4. 数组的查找5. 数组的统计6. 数组在实际应用中的优缺点分析三、实验过程1. 数组的创建与初始化在实验中,我们首先学习了如何创建一个数组。
在C语言中,可以使用以下语句创建一个整型数组:int arr[10];这里创建了一个包含10个整数的数组,名称为arr。
接下来,我们学习了如何初始化数组。
初始化可以通过以下语句实现:int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};这里初始化了一个包含10个整数的数组,并将前10个整数依次赋值给数组元素。
2. 数组元素的访问与修改访问数组元素可以通过以下语句实现:int value = arr[3]; // 获取数组第4个元素的值修改数组元素可以通过以下语句实现:arr[5] = 20; // 将数组第6个元素的值修改为203. 数组的排序在实验中,我们学习了冒泡排序算法。
冒泡排序是一种简单的排序算法,其基本思想是通过比较相邻的元素,将较大的元素交换到数组的后面。
以下是冒泡排序算法的C语言实现:void bubbleSort(int arr[], int n) {int i, j, temp;for (i = 0; i < n - 1; i++) {for (j = 0; j < n - i - 1; j++) {if (arr[j] > arr[j + 1]) {temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}}4. 数组的查找在实验中,我们学习了二分查找算法。
二分查找算法是一种高效的查找算法,其基本思想是将查找区间分为两半,每次查找时缩小查找范围。
数组应用实验报告
数组应用实验报告
《数组应用实验报告》
在计算机科学领域,数组是一种非常重要的数据结构,它可以存储多个相同类型的数据,方便进行管理和操作。
在本次实验中,我们将探讨数组的应用,并通过实验报告来展示其在不同场景下的使用情况。
实验一:数组的创建和初始化
在本实验中,我们首先学习了如何创建和初始化数组。
通过编写简单的代码,我们成功创建了一个包含整数类型的数组,并对其进行了初始化。
我们发现,数组的索引是从0开始的,这意味着我们可以通过索引来访问数组中的元素。
实验二:数组的遍历和操作
接下来,我们学习了如何遍历数组并对其进行操作。
我们使用循环结构来遍历数组中的每个元素,并进行相应的操作。
我们发现,使用数组可以方便地对一组数据进行统一的处理,比如求和、平均值等操作。
实验三:多维数组的应用
在这个实验中,我们学习了多维数组的应用。
通过创建二维数组,我们可以模拟二维空间中的数据结构,比如矩阵、图像等。
我们发现,多维数组可以方便地表示复杂的数据结构,并且可以通过多重循环来对其进行遍历和操作。
实验四:数组的应用案例
最后,我们通过实际案例来展示数组的应用。
我们使用数组来实现一个简单的学生成绩管理系统,通过输入学生的成绩,然后计算平均分、最高分、最低分等统计数据。
我们发现,数组的使用大大简化了数据的管理和操作,提高了程序的效率和可维护性。
综上所述,本次实验通过实验报告展示了数组在不同场景下的应用情况。
通过学习和实践,我们深刻理解了数组的重要性和灵活性,相信在今后的编程工作中,我们将能够更加熟练地运用数组来解决实际问题。
数据结构专题实验
上机实验要求及规范《数据结构》课程具有比较强的理论性,同时也具有较强的可应用性和实践性,因此上机实验是一个重要的教学环节。
一般情况下学生能够重视实验环节,对于编写程序上机练习具有一定的积极性,但是容易忽略实验的总结,忽略实验报告的撰写。
对于一名大学生必须严格训练分析总结能力、书面表达能力。
需要逐步培养书写科学实验报告以及科技论文的能力。
拿到一个题目,一般不要急于编程,而是应该按照面向过程的程序设计思路(关于面向对象的训练将在其它后继课程中进行),首先理解问题,明确给定的条件和要求解决的问题,然后按照自顶向下,逐步求精,分而治之的策略,逐一地解决子问题。
具体步骤如下:1.问题分析与系统结构设计充分地分析和理解问题本身,弄清要求做什么(而不是怎么做),限制条件是什么。
按照以数据结构为中心的原则划分模块,搞清数据的逻辑结构(是线性表还是树、图?),确定数据的存储结构(是顺序结构还是链表结构?),然后设计有关操作的函数。
在每个函数模块中,要综合考虑系统功能,使系统结构清晰、合理、简单和易于调试。
最后写出每个模块的算法头和规格说明,列出模块之间的调用关系(可以用图表示),便完成了系统结构设计。
2.详细设计和编码详细设计是对函数(模块)的进一步求精,用伪高级语言(如类C语言)或自然语言写出算法框架,这时不必确定很多结构和变量。
编码,即程序设计,是对详细设计结果的进一步求精,即用某种高级语言(如C/C++语言)表达出来。
尽量多设一些注释语句,清晰易懂。
尽量临时增加一些输出语句,便于差错矫正,在程序成功后再删去它们。
3.上机准备熟悉高级语言用法,如C语言。
熟悉机器(即操作系统),基本的常用命令。
静态检查主要有两条路径,一是用一组测试数据手工执行程序(或分模块进行);二是通过阅读或给别人讲解自己的程序而深入全面地理解程序逻辑,在这个过程中再加入一些注释和断言。
如果程序中逻辑概念清楚,后者将比前者有效。
4.上机调试程序调试最好分块进行,自底向上,即先调试底层函数,必要时可以另写一个调用驱动程序,表面上的麻烦工作可以大大降低调试时所面临的复杂性,提高工作效率。
《数据结构》实验书
目录实验一线性表基本操作的编程实现 (201)实验二堆栈或队列基本操作的编程实现 (49)实验四二维数组基本操作的编程实现 (18)实验五二叉树基操作的编程实现 (20)实验六图基本操作的编程实现 (45)(特别提示:程序设计包含两个方面的错误。
其一是错误,其二是能错误。
为了提高学生的编程和能力,本指导书给出的程序代码并的两种错误。
并且也不保证程序的完整性,有一些语句已经故意删除,就是要求学生自己编制完成,这样才能达到我们的要求。
希望大家以自己所学高级语言的基本功和点为基础,不要过于依赖给出的参考代码,这样才能有所进步。
如果学生能够根据要求完全自己编制,那就不好了。
)实验一线性表基本操作的编程实现【实验目的】线性表基本操作的编程实现要求:线性表基本操作的编程实现(2学时,验证型),掌握线性表的建立、遍历、插入、删除等基本操作的编程实现,也可以进一步编程实现查找、逆序、排序等操作,存储结构可以在顺序结构或链表结分主要功能,也可以用菜单进行管理完成大部分功能。
还鼓励学生利用基本操作进行一些更实际的应用型程序设计。
【实验性质】【实验内容】把线性表的顺序存储和链表存储的数据插入、删除运算其中某项进行程序实现。
建议实现键盘输入数据以实现程序的通据的函数。
【注意事项】【思考问题】1.线性表的顺序存储和链表存储的差异?优缺点分析?2.那些操作引发了数据的移动?3.算法的时间效率是如何体现的?4.链表的指针是如何后移的?如何加强程序的健壮性?【参考代码】(一)利用顺序表完成一个班级学生课程成绩的简单管理1、预定义以及顺序表结构类型的定义(1)#define ListSize //根据需要自己设定一个班级能够容纳的最大学生数(2)typedef struct Stu{int num; //学生的学号char name[10]; //学生的姓名float wuli; //物理成绩float shuxue; //数学成绩float yingyu; //英语成绩}STUDENT; //存放单个学生信息的结构体类型typedef struct List{stu[ListSize]; //存放学生的数组定义,静态分配空间int length; //记录班级实际学生个数}LIST; //存放班级学生信息的顺序表类型2、建立班级的学生信息void listcreate(LIST *Li,int m) //m为该班级的实际人数{int i;Li->length=0;for(i=0;i<m;i++) //输入m个学生的所有信息{printf("please input the %dth student's information:\n",i+1);printf("num=");scanf("%d", ); //输入第i个学生的学号printf("name=");scanf("%s", ); //输入第i个学生的姓名printf("wuli=");scanf("%f", ); //输入第i个学生的物理成绩printf("shuxue=");scanf("%f", ); //输入第i个学生的数学成绩printf("yingyu=");scanf("%f", ); //输入第i个学生的英语成绩Li->length++; //学生人数加1}}3、插入一个学生信息int listinsert(LIST *Li,int i) //将学生插入到班级Li的第i个位置。
程序设计语言实验指导书12版
《程序设计语言》实验指导书徐东燕编北方民族大学计算机科学与工程学院2012年9月目录实验一 C语言编程环境熟悉及简单程序的编写(验证型实验,2学时) (3)实验二分支结构程序设计(设计型实验,2学时) (6)实验三循环结构程序设计(设计型实验,2学时) (8)实验四函数程序设计(设计型实验,2学时) (10)实验五数组程序设计((设计型实验,2学时) (12)实验六指针程序设计(设计型实验,2学时) (14)实验七结构体程序设计(设计型实验,2学时) (15)实验八程序结构与递归函数(综合性实验,2学时) (16)实验九指针进阶及综合程序设计(综合型实验,2学时) (17)实验十文件的程序设计(设计型实验,2学时) (18)参考文献 (20)课程编号:11101203 课程类别:专业基础课适用专业:计算机科学与技术、软件工程、网络工程、信管专业课程总学时:76 实验课学时:20开设实验项目数:10实验一C语言编程环境熟悉及简单程序的编写(验证型实验,2学时)一、实验目的与要求实验环境1.熟悉Cfree开发环境或Visual C++ 6.0的使用环境;2.掌握Cfree开发环境或Visual C++ 6.0环境下建立C程序的步骤;3.掌握C程序在Cfree开发环境或Visual C++ 6.0环境下的编辑、调试和运行的步骤、方法;4.理解C程序的一般结构;5.理解并掌握程序的顺序结构程序设计;6.在Cfree开发环境或Visual C++ 6.0环境下编写并运行基本的C程序;7.理解程序调试思想,能修改简单的C语法错误;8.掌握算术、赋值表达式,输入输入语句和简单数据处理方法。
二、实验环境1.微机每人一台,要求PⅢ以上处理器。
2.windows2000/xp操作系统。
3.Cfree开发环境或或Visual C++ 6.0开发环境。
三、实验预习与准备1.计算机基本操作练习。
2.Cfree开发环境或Visual C++ 6.0软件使用预习。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四-数组(二)实验四数组(二)一、实验目的1.掌握一维字符数组的定义及初始化。
2.掌握一维字符数组元素的引用及其应用。
3.掌握二维数组的定义和初始化。
4.掌握二维数组元素的引用及其应用。
二、实验内容题目1:输入十个人的姓名,并按升序输出。
(用选择法或者冒泡法排序)●问题Strcpy函数是完全将后一个代替前一个么?●源代码#include <stdio.h>#include <string.h>int main(){char a[10][80],x[80];int i,j;for(i=0;i<10;i++)gets(a[i]);for(i=0;i<9;i++)for(j=i+1;j<10;j++)if(strcmp(a[i],a[j])>0){strcpy(x,a[j]);strcpy(a[j],a[i]);strcpy(a[i],x);}for(i=0;i<10;i++)printf("\n%s",a[i]);return 0;}程序流程图实验结果题目2:求两个矩阵的积。
如:运算规则为:第i行第j列相乘得到结果矩阵中r[i][j]的值。
比如:r[0][0] = 1*1+2*5+3*8=35;r[0][1] = 1*5+2*3+3*1=14;r[1][0] = 4*1+5*5+6*8=77;r[1][1] = 4*5+5*3+6*1=41;要求:1.数组的行数和列数不超过100。
2.输入第一行中,第一个正整数m,表示第一个矩阵的行数,输入第二个正整数n,表示第一个矩阵的列数,也即是第二个矩阵的行数,输入第三个正整数p,表示第二个矩阵的列数。
3.接下来的m*n个数是第一个矩阵中的数。
4.再接下来的n*p个数是第二个矩阵中的数。
5.输出计算结果,为一个m行,p列的矩阵。
●问题无●源代码# include<stdio.h>int main(){int a[100][100] ={0};int b[100][100] = {0};int c[100][100] = {0};int i = 0,j = 0,k=0;int n = 0;int x=0,y=0,z=0;printf("请输入矩阵a的行数:");scanf("%d",&x);printf("请输入矩阵a的列数:");scanf("%d",&y);printf("请输入矩阵a,元素之间用Tab隔开:\n");for(i=0;i<x;i++){for(j=0;j<y;j++)scanf("%d",&a[i][j]);printf("\n");}printf("请输入矩阵b的行数:");scanf("%d",&y);printf("请输入矩阵b的列数:");scanf("%d",&z);printf("请输入矩阵b,元素之间用Tab隔开:\n");for(i=0;i<y;i++){for(j=0;j<z;j++)scanf("%d",&b[i][j]);printf("\n");}//jisuanfor(i=0;i<x;i++)for(j=0;j<z;j++)for(k=0;k<y;k++)c[i][j] += a[i][k]*b[k][j];//outputfor(i = 0;i < x;i++){for(j = 0;j < z;j++)printf("%d\t",c[i][j]);printf("\n");}return 0;}●程序流程图【必须有】●实验结果题目3:求矩阵的鞍点。
鞍点位置上的元素在该行中值最大,在该列中值最小。
如下面矩阵的鞍点为35。
【输入】前两个数为行数和列数,其后是矩阵中的元素【输出】如果没有鞍点,输出NO;如果有输出格式为:[值1,行下标1,列下标1], [值2,行下标2,列下标2]……●问题下标的输出转换。
●源代码#include <stdio.h>int main(){int a[100][100];int m,n,i,j,sign;printf("input m and n:\n");scanf("%d%d",&m,&n);printf("请输入这个矩阵\n");for(i=0;i<m;i++)for(j=0;j<n;j++)scanf("%d",&a[i][j]);for(i=0;i<m;i++){for(sign=0,j=1;j<n;j++)if(a[i][sign]<a[i][j])sign=j;for(j=0;j<m;j++)if(a[i][sign]>a[j][sign])break;if(j>=m)printf("鞍点是:%d\n",a[i][sign]);}return 0;}程序流程图【必须有】实验结果题目4:井字格游戏本题目可替代题目1~3作为实验内容。
程序大致的执行过程如图所示:功能包括:1.允许两个玩家下棋2.允许玩家输入下棋的坐标3.显示当前棋盘状态4.判断玩家是否下错位置,即在已经下过棋的位置再次下棋5.判断玩家下棋后,输赢状态6.在屏幕提示中指导玩家交替下棋源代码#include<stdio.h>#include<stdlib.h>int c,i,j,kongzhi=1,i=1;int basic[3][3]={0,0,0,0,0,0,0,0,0};int tasic[3][3]={0,0,0,0,0,0,0,0,0};char T[3][3];int printerA(int site1,int site2){if(tasic[site1][site2]==0&&basic[site1][site2]==0){basic[site1][site2]=1;T[site1][site2]='X';for(i=0;i<3;i++){printf("-------\n");for(j=0;j<3;j++){printf("|");printf("%c",T[i][j]);}printf("|\n");if(i==2){printf("-------\n");}}return 0;}elsereturn 99;}int printerB(int site1,int site2){if(tasic[site1][site2]==0&&basic[site1][site2]==0){ tasic[site1][site2]=-1;T[site1][site2]='O';for(i=0;i<3;i++){printf("-------\n");for(j=0;j<3;j++){printf("|");printf("%c",T[i][j]);}printf("|\n");if(i==2){printf("-------\n");}}return 0;}elsereturn -99;}int main(){int m,n,a,b;while(kongzhi==1){do{a=0;printf("请A下子:");scanf("%d%d",&m,&n);system("cls");a=printerA(m,n);if(a==99)printf("对不起,您下错位置了!\n");}while(a==99);if((basic[0][0]+basic[0][1]+basic[0][2]==3)||(basic[1][0]+basic[1][1]+basic[1][2]==3)||(basic [2][0]+basic[2][1]+basic[2][2]==3)||(basic[0][0]+basic[1][1]+basic[2][2]==3)||(basic[0][2]+basic[1 ][1]+basic[2][0]==3)){printf("A赢了!\n");return 0;}do{b=0;printf("请B下子:");scanf("%d%d",&m,&n);system("cls");b=printerB(m,n);if(b==-99)printf("对不起,您下错位置了!\n");}while(b==-99);if((tasic[0][0]+tasic[0][1]+tasic[0][2]==-3)||(tasic[1][0]+tasic[1][1]+tasic[1][2]==-3)||(tas ic[2][0]+tasic[2][1]+tasic[2][2]==-3)||(tasic[0][0]+tasic[1][1]+tasic[2][2]==-3)||(tasic[0][2]+tasic[1][1]+tasic[2][0]==-3)){printf("B赢了!\n");return 0;}i++;if(i==9){printf("平局!");return 0;}}}程序流程图【必须有】●实验结果2.2.实验心得体会●本次实验的收获是什么了解strcpy函数和strcmp函数。
二维数组的赋值与输入输出。
●遇到了哪些问题,如何解决的1.矩阵相乘;解决,找到行与列还有两个矩阵中列和行相等的关系2.Strcpy函数若前一个字符串长后一个短,执行完后前一个字符串并不为后一个字符串,即\0后还有字符。
三、实验要求1.利用F10进行循环结构的单步跟踪练习2.实验报告内容2.1.实验内容及结果●问题●源代码●程序流程图【必须有】●实验结果2.2.实验心得体会●本次实验的收获是什么●遇到了哪些问题,如何解决的3.报告命名学号_班级_姓名_日期.docx如:2013011296_软工1301_白雪_20141205.docx 4.报告上传邮箱。