当前位置:范文大全 > 公文范文 > 高级语言程序设计实验报告

高级语言程序设计实验报告

发布时间:2021-11-03 09:21:00

高级语言程序设计实验报告 本文关键词:高级,实验,语言程序设计,报告

高级语言程序设计实验报告 本文简介:内蒙古工业大学信息工程学院实验报告课程名称:高级语言程序设计(C)实验名称:循环、数组、函数和结构体程序设计实验类型:验证性□综合性√设计性□实验室名称:校计算机中心机房班级:工业13-1学号:201320106052姓名:王洪卫组别:同组人:成绩:实验日期:2013.11.21/2013.11.2

高级语言程序设计实验报告 本文内容:

内蒙古工业大学信息工程学院

课程名称:高级语言程序设计(C)

实验名称:循环、数组、函数和结构体程序设计

实验类型:

验证性□

综合性√

设计性□

实验室名称:

校计算机中心机房

班级:

工业13-1

学号:

201320106052

姓名:

王洪卫

组别:

同组人:

成绩:

实验日期:

2013.11.21/2013.11.28

实验报告撰写要求

一、

实验前用预习报告纸撰写预习报告,预习报告包括以下内容

1.

实验目的

2.

实验用仪器设备、器材或软件环境

3.

实验原理、方案设计、程序框图、预编程序等

4.

实验过程中需要记录的实验数据表格

二、

实验过程中,要认真观察,仔细记录

三、

完成实验后用实验报告纸撰写实验报告,包括以下内容

1.

仪器设备型号及编号

2.

实验器材或软件环境

3.

实验步骤、程序调试方法

4.

实验数据处理及结果分析

5.

实验中存在的问题

6.

体会及思考题

四、

报告撰写时,要求格式规范、书写整齐

内蒙古工业大学信息工程学院

预习报告成绩:

指导教师审核(签名):*年*月*日

预习报告

一、

实验题目:

有10个学生,每个学生的数据包括学号、姓名,4门课的成绩、总成绩和平均成绩.从键盘输入10个学生的数据(包括学号、姓名以及4门课的成绩),要求打印出每位学生的学号、姓名、四门课的成绩、总成绩和平均成绩,最后再打印出最高分的学生的数据(包括学号,姓名,4门课的成绩、总成绩和平均成绩)以及4门课的总平均成绩.具体要求:

1.根据学生信息定义一个结构体类型,再说明一个该结构体类型的数组。

2.用input函数从键盘上输入10个学生的数据。

3.用average

函数求出每个学生总成绩、平均成绩和所有学生的总平均成绩。

4.用maximum

函数找出最高分的学生的数据;

5.在主函数中输出每位学生的学号、姓名、4门课的成绩、总成绩和平均成绩,最后再输出最高分学生的数据和总平均成绩。

输出形式如下:

NO.

name

score1

score2

score3

score4

total

average

1

wang

80

79

81

80

320

80.00

2

li

91

88

89

92

360

90.00

.

The

highest

score:

5

zhang

96

91

93

88

368

92.00

The

total

average=85.00

二、

程序流程图(大小控制在一页当中):

三、

预编程序:(这个是最开始的程序,允许有错误)

#include

#define

N

10

struct

stu

{int

number;

char

name[10];

int

score[4];

int

total;

float

average;

};

struct

stu

students[N]

struct

stusp=students;

input()

{int

i;

printf(“input

number

name

score1

score2

score3

score4:/n“);

sp=students;

for(i=0;inumber);

scanf(“%s“,sp->name)

scanf(“%d%d%d%d“,}

}

float

average()

{float

aver=0.0;

int

i;

for(sp=students,i=0;itotal=sp->score[0]+sp->score[1]+sp->score[2]+sp->score[3];

sp->average=sp->total/4.0;

aver=aver+sp->average;

}

aver=aver/N;

return(aver);

}

int

maximum()

{int

i=0,j=0;

int

max=0;

for(sp=students,i=0;itotal>max)

{max=sp->total;

j=i;

}

return(j);

}

mian()

{int

i,j;

float

aver;

input();

aver=average();

j=maximum();

printf(“no./tname/tscore1/tccore2/tscore3/tscore4/ttotal/taverage:/n“);

for(sp=students,i=0;inumber,sp->name,sp->score[0],sp->score[1],sp->score[2],sp->score[3],sp->total,sp->average);

printf(“the

highest

score/n“);

printf(“%d/t%s/t%d/t%d/t%d/t%d/t%d/t%f“,students[j].number,students[j].name,students[j].score[0],students[j].score[1],students[j].score[2],students[j].score[3],students[j].total,students[j].average);

printf(“/naverage=%f/n“,aver);

}

实验报告成绩:

指导教师审核(签名):*年*月*日

实验报告

一、

实验题目:

有10个学生,每个学生的数据包括学号、姓名,4门课的成绩、总成绩和平均成绩.从键盘输入10个学生的数据(包括学号、姓名以及4门课的成绩),要求打印出每位学生的学号、姓名、四门课的成绩、总成绩和平均成绩,最后再打印出最高分的学生的数据(包括学号,姓名,4门课的成绩、总成绩和平均成绩)以及4门课的总平均成绩.具体要求:

1.根据学生信息定义一个结构体类型,再说明一个该结构体类型的数组。

2.用input函数从键盘上输入10个学生的数据。

3.用average

函数求出每个学生总成绩、平均成绩和所有学生的总平均成绩。

4.用maximum

函数找出最高分的学生的数据;

5.在主函数中输出每位学生的学号、姓名、4门课的成绩、总成绩和平均成绩,最后再输出最高分学生的数据和总平均成绩。

输出形式如下:

NO.

name

score1

score2

score3

score4

total

average

1

wang

80

79

81

80

320

80.00

2

li

91

88

89

92

360

90.00

.

The

highest

score:

5

zhang

96

91

93

88

368

92.00

The

total

average=85.00

二、

程序流程图(大小控制在一页当中):

三、

程序:(最终正确的程序)

#include

#define

N

10

struct

stu

{int

number;

char

name[10];

int

score[4];

int

total;

float

average;

};

struct

stu

students[N];

struct

stusp=students;

input()

{int

i;

printf(“input

number

name

score1

score2

score3

score4:/n“);

sp=students;

for(i=0;inumber);

scanf(“%s“,sp->name);

scanf(“%d%d%d%d“,}

}

float

average()

{float

aver=0.0;

int

i;

for(sp=students,i=0;itotal=sp->score[0]+sp->score[1]+sp->score[2]+sp->score[3];

sp->average=sp->total/4.0;

aver=aver+sp->average;

}

aver=aver/N;

return(aver);

}

int

maximum()

{int

i=0,j;

int

max=0;

for(sp=students,i=0;itotal>max)

{max=sp->total;

j=i;

}

return(j);

}

main()

{int

i,j;

float

aver;

input();

aver=average();

j=maximum();

printf(“no./tname/tscore1/tccore2/tscore3/tscore4/ttotal/taverage:/n“);

for(sp=students,i=0;inumber,sp->name,sp->score[0],sp->score[1],sp->score[2],sp->score[3],sp->total,sp->average);

printf(“the

highest

score/n“);

printf(“%d/t%s/t%d/t%d/t%d/t%d/t%d/t%.2f“,students[j].number,students[j].name,students[j].score[0],students[j].score[1],students[j].score[2],students[j].score[3],students[j].total,students[j].average);

printf(“/naverage=%.2f/n“,aver);

}

四、

运行结果(抓图取得Alt+PrtScr):

五、

实验中存在的问题:(实验中遇到的问题及是如何解决的)

1.程序编写不熟练,部分知识有遗忘,查阅资料才得到解决;

2.

经常粗心把主函数“main”写成“mian”;

3.输入程序时由于粗心大意,经常忘记打分号;

4.for循环的使用不熟练,经多次上机调试和认真看过课本之后问题得以解决;

5.输出的形式总是和要求不符,输出后一片混乱。在输出主函数的printf中调整后,输出的效果才与要求一致;

6.部分下方提示的错误无法及时发现

六、

体会和思考:

通过进行这次实验及此次实验报告的书写,发现我在学习C程序设计中存在很多问题。明白了想要编写程序,就必须对课本内容掌握的非常熟悉与理解。在做每一个实验前都不能盲目的写程序,必须先把输入,输出的结构安排恰当,然后逐一对其进行补充与夯实,直到使其成为一个完整的程序。然后通过电脑的TC进行仔细的检验,最后使其成为一个完整同时有完美的程序。在此过程中,了解到C语言是不光是一门高深的学科,还是一门非常有实用价值的课程。深刻理解到所要求的知识不仅要理论上掌握,而且要上机操作去检验你所学的知识的层次,通过上机实践我们把自己的实践操作能力得到提升,同时也丰富了自己的知识面。只有这样我们才会学得更好,掌握得更透彻,让C语言为我们更好的服务,也让我们通过C语言作出更加完美的程序。

第-13-页

篇2:附合导线平差程序设计报告

附合导线平差程序设计报告 本文关键词:导线,程序设计,报告,附合

附合导线平差程序设计报告 本文简介:地图学课程设计报告《测量平差程序》课程设计(报告)学生姓名:罗正材学号:1108030128专业:2011级测绘工程指导教师:肖东升目录一、前言…………………………………………………………3二、平差程序的基本要求………………………………………3三、平差程序模块化……………………………………………3四

附合导线平差程序设计报告 本文内容:

地图学课程设计报告

《测量平差程序》课程设计

(报告)

学生姓名:罗正材

号:1108030128

业:2011级测绘工程

指导教师:肖

目录

一、前言…………………………………………………………3

二、平差程序的基本要求………………………………………3

三、平差程序模块化……………………………………………3

四、平差中的重要函数…………………………………………4

五、结论…………………………………………………………7

六、部分源代码…………………………………………………7

一、前言

随着测绘科学技术的不断发展,在测量数据的处理中产生很多种平差的方法。在本文中,附合导线近似平差程序是利用C++编程实现的,我们需要将导线网的已知数据信息按照特定的规则输入到.txt文本中,利用C++程序读取文本数据信息后,对其进行一系列的平差计算,最终获得平差后的结果,并以.txt文本的形式输出且保存,这样就可为测量工作提供一定的参考,还能为测绘数据的管理带来帮助。

二、平差程序的基本要求

平差程序设计与其它程序设计相同,应当满足一定的要求。

(1)程序逻辑结构简单,清晰易读,符合结构化程序设计要求,便于扩展;

(2)运算速度快,占用内存小,内外存之间的交换不宜过于频繁;

(3)数学模型及计算方法正确、先进,计算结果精度高;

(4)适应性强,便于移植,充分考虑各种可能形式,尽量满足不同要求与需要;

(5)方便用户,操作简便。数据输入与用户作业方式与习惯相统一,输出明了、齐全;尽量减少手工处理工作量,操作简便;人机交互性要强。

上述要求,既体现在平差程序的总体设计中,也贯穿于平差程序设计的各个环节中。

三、平差程序模块化

图1

四、平差中的重要函数

(一)、角度制与弧度制的相互转化

C/C++程序设计中,关于角度的计算以弧度制为单位,而在测量以及具体工作中我们通常习惯以角度制为单位。这样,在数据处理中,经常需要在角度制与弧度制之间进行相互转化。这里,我们利用C/C++数学函数库math.h中的相关函数完成这两种功能。

这里,我们使用double类型数据表示角度制数和弧度制数。例如:123度44分58.445秒,用double类型表示为123.4458445,其中分、秒根据小数位确定。

在角度制与弧度制的转化中,涉及如下图2所示的两个环节。

度.分秒

弧度

图2

1.角度化弧度函数

double

d_h(double

angle)

//角度化弧度

{

double

a,b;

angle=modf(angle,//a

为提取的度值(int类型),angle为分秒值(小数)

angle=modf(angle*100.0,//

b为提取的分值(int类型),angle为秒值(小数)

return

(a+b/60.0+angle/36.0)*(PI+3.0E-16)/180.0;

}

2.弧度化角度函数

double

h_d(double

angle)

//弧度化角度

{

double

a,b,c;

angle=modf(angle*180.0/(PI-3.0E-16),angle=modf(angle*60.0,angle=modf(angle*60.0,return

a+b*0.01+c*0.0001+angle*0.0001;

}

其中,函数modf(angle,double

s;

f

=

dms>=0

?

1

:

-1;

//0.001秒

4.8481368110953599358991410235795e-9弧度

dms

+=

f

0.0000001;

d

=

(int)dms;

dms

=

(dms

-

d)

100.0;

m

=

(int)dms;

s

=

(dms

-

m)

100.0;

return

(d

+

m

/

60.0

+

s

/

3600.0)

_TORAD

-

f

4.8481368110953599358991410235795e-9;

}

//弧度转“度分秒”

double

RADtoDMS(double

rad)

{

int

f

=

rad

>=

0

?

1

:

-1;

//

符号

//加0.001秒(用弧度表示),化为度

rad

=

(rad

+

f

4.8481368110953599358991410235795e-9)

_TODEG;

int

d

=

(int)rad;

rad

=

(rad

-

d)

60.0;

int

m

=

(int)rad;

double

s

=

(rad

-

m)

60.0;

return

d

+

m

/

100.0

+

s

/

10000.0

-

f

0.0000001;

}

//读入已知点的坐标

void

ReadKnwData(FILE

in,DyArray

array)

{

char

buffer[256];

double

dx,dy;

SurPnt

pnt;

while

(

!feof(in)

)

{

fgets(buffer,sizeof(buffer),in);

if

(

sscanf(buffer,“%s

%lf

%lf“,pnt.name,}

else

break;

}

dx

=

array->elem[1].x

-

array->elem[0].x;

dy

=

array->elem[1].y

-

array->elem[0].y;

adj.azi0=atan2(dy,dx)

+

(dy

elem[3].x

-

array->elem[2].x;

dy

=

array->elem[3].y

-

array->elem[2].y;

adj.azin=atan2(dy,dx)

+

(dy

elem[1].x;

adj.y1=array->elem[1].y;

adj.xn=array->elem[2].x;

adj.yn=array->elem[2].y;

Destroy(array);//

}

//观测值信息写到动态数组

void

ReadObsValue(FILE

in,DyArray

array)

{

char

buffer[256];

double

dir0,dir1,dist0,dist1;

SurPnt

pnt;//用于临时保存点的坐标

while

(

!feof(in)

)

{

fgets(buffer,sizeof(buffer),in);

if(

feof(in)

)

return;

if(sscanf(buffer,“%s

%s

%lf

%lf

%s

%lf

%lf“,pnt.name,pnt.dir0.name,pnt.dir0.dist=dist0;

pnt.dir1.dv=DMStoRAD(dir1);

pnt.dir1.dist=dist1;

pnt.b=pnt.dir1.dv-pnt.dir0.dv+(pnt.dir1.dv-pnt.dir0.dvlength;

i++)

{

sumb+=array->elem[i].b;

}

adj.fb=adj.azi0+sumb-_PI*array->length-adj.azin;

adj.v=-adj.fb/array->length;

adj.fb=adj.fb/_PI*180*3600;

adj.fr=2*8*sqrt(array->length);

if

(abs(adj.fb)

>=

adj.fr)

strcpy(adj.judge,“方位角闭合差超限了!“);

else

strcpy(adj.judge,“方位角闭合差没超限“);

}

//角度改正

void

CorrectAngle(DyArray

array)

{

for

(int

i=0;

ilength;

i++)

{

array->elem[i].b+=adj.v;

}

adj.v=adj.v/_PI*180*3600;

}

//推算方位角

void

Direct(DyArray

array)

{

SurPnt

pnt;

//第一个未知边

pnt.dir1.alfa=adj.azi0+array->elem[0].b-_PI;

pnt.dir1.dist=(array->elem[0].dir1.dist+array->elem[1].dir0.dist)/2;

pnt.dir1.dx=pnt.dir1.dist*cos(pnt.dir1.alfa);

pnt.dir1.dy=pnt.dir1.dist*sin(pnt.dir1.alfa);

AddDir(array,pnt,0);

for(int

i=1;ilength-1;i++)

{

pnt.dir1.alfa=array->elem[i-1].dir1.alfa+array->elem[i].b-_PI;

pnt.dir1.dist=(array->elem[i].dir1.dist+array->elem[i+1].dir0.dist)/2;

pnt.dir1.dx=pnt.dir1.dist*cos(pnt.dir1.alfa);

pnt.dir1.dy=pnt.dir1.dist*sin(pnt.dir1.alfa);

AddDir(array,pnt,i);

}

for(i=0;ilength-1;i++)

{

array->elem[i].dir1.alfa=RADtoDMS(array->elem[i].dir1.alfa);//alfa转为角度

}

}

//坐标增量改正

void

CorrectDirect(DyArray

array)

{

double

sumx=0.0;

double

sumy=0.0;

double

sums=0.0;

for(int

i=0;ilength-1;i++)

{

sumx+=array->elem[i].dir1.dx;

sumy+=array->elem[i].dir1.dy;

sums+=array->elem[i].dir1.dist;

}

adj.fx=adj.x1+sumx-adj.xn;

adj.fy=adj.y1+sumy-adj.yn;

adj.fs=sqrt(adj.fx*adj.fx+adj.fy*adj.fy);

adj.f=int(sums/adj.fs);//导线全长相对闭合差分母

for(

i=0;ilength-1;i++)

{

array->elem[i].dir1.dx-=adj.fx*array->elem[i].dir1.dist/sums;//坐标增量改正

array->elem[i].dir1.dy-=adj.fy*array->elem[i].dir1.dist/sums;

}

}

//解算近似平差坐标

void

Coordinate(DyArray

array)

{

SurPnt

pnt;

array->elem[0].x=adj.x1;

array->elem[0].y=adj.y1;

for(int

i=0;ilength-2;i++)

{

//strcpy(pnt.name,array->elem[i+1].name);

pnt.x=array->elem[i].x+array->elem[i].dir1.dx;//

pnt.y=array->elem[i].y+array->elem[i].dir1.dy;

AddCor(array,pnt,i+1);

}

}

//输出

void

Print(DyArray

array,FILE

out)

{

double

d,m,s;

fprintf(out,“方位角闭合差fb=%.0lf秒

%s

角度改正v=%.0lf秒/n“,adj.fb,adj.judge,adj.v);

fprintf(out,“坐标增量闭合差

fx=%.0lfmm

fy=%.0lfmm

fs=%.0lfmm/n“,adj.fx*1000,adj.fy*1000,adj.fs*1000);

fprintf(out,“导线全长相对闭合差

fs/∑S=1/%d/n/n“,adj.f);

fprintf(out,“坐标方位角/n“);

for

(int

i=0;

ilength-1;

i++)

{

d=array->elem[i].dir1.alfa;

m=(d-(int)d)*100;

s=(m-(int)m)*100;

fprintf(out,“α%s-%s=%.0lf°%.0lf′%.0lf″/n“,array->elem[i].name,array->elem[i+1].name,d,m,s);

}

fprintf(out,“/n近似平差坐标/n“);

for

(i=1;

ilength-1;

i++)

{

fprintf(out,“%s

x=%.3lfm

y=%.3lfm/n“,array->elem[i].name,array->elem[i].x,array->elem[i].y);

}

}

int

main(int

argc,char*

argv[])

{

DyArray

pnts;

Init(

char

infile[255],outfile[255];

if

(argc

<

2)

{

printf(“Enter

infile

name:/n“);

scanf(“%s“,infile);

}

else

strcpy(infile,argv[1]);

FILE

in

=

fopen(infile,“r“);

if(in

==

NULL)

{

printf(“File

%s

cann

t

open!“,infile);

return

-1;

}

if

(argc

<

3)

{

printf(“Enter

outfile

name:/n“);

scanf(“%s“,outfile);

}

else

strcpy(outfile,argv[2]);

FILE

out

=

fopen(outfile,“w“);

if(out

==

NULL)

{

printf(“File

%s

cann

t

open!“,outfile);

return

-1;

}

//读入已知点的坐标

ReadKnwData(in,Init(

//观测值信息写到动态数组

ReadObsValue(in,//求角度闭合差fb

Fb(

//角度改正

CorrectAngle(

//推算方位角

Direct(

//坐标增量改正

CorrectDirect(

//解算近似平差坐标

Coordinate(

fclose(in);

//输出

Print(

fclose(out);

Destroy(

return

0;

}

14

篇3:里仁多核程序设计实验报告

里仁多核程序设计实验报告 本文关键词:多核,程序设计,实验,报告

里仁多核程序设计实验报告 本文简介:多核程序设计实验报告Multi-coreProgrammingExperimentReport学生所在学院:里仁学院学生所在班级:学生姓名:学生学号:指导教师:教务处2014年4月实验一Windows多线程编程模块一:基础练习一.实验目的与要求二.实验环境及软件三.实验内容四.实验代码·#inclu

里仁多核程序设计实验报告 本文内容:

多核程序设计实验报告

Multi-core

Programming

Experiment

Report

学生所在学院:

里仁学院

学生所在班级:

2014年

4

实验一

Windows多线程编程

模块一:基础练习

一.

实验目的与要求

二.

实验环境及软件

三.

实验内容

四.

实验代码

·

#include

·

#include

·

#include

·

#include

·

void

test(int

n)

·

{

·

for

(int

i

=

0;

i

#include

#include

#define

NN

2000

int

A[NN][NN],B[NN][NN];

long

long

C[NN][NN];

void

solve(int

n,int

num_thread){

int

i,j,t,k,paralleltime,serialtime;

clock_t

startTime,endTime;

long

long

sum;

omp_set_num_threads(num_thread);

//--------------对矩阵A和矩阵B进行初始化-------------

for

(i

=

0;

i

#include

#include

#include

using

namespace

std;

static

long

num_steps=1000000000;//定义所分的块数

#define

NUM_THREADS

2

//定义所开启的线程数

int

_tmain(int

argc,_TCHAR*

argv[])

{

int

i;

omp_set_num_threads(NUM_THREADS);//开启线程

double

x,sum=0.0,pi;

clock_t

start_time,end_time;

double

step=1.0/(double)num_steps;

//并行--------------------------------------

start_time=clock();

#pragma

omp

parallel

sections

reduction(+:sum)

private(x,i)

{

#pragma

omp

section

{

for

(i=omp_get_thread_num();i

#include

#include

#include

#include

“omp.h“using

namespace

std;

//int

count=0;

void

swap(int

tmp

=

a;

a

=

b;

b

=

tmp;

}

void

quicksort(intA,int

l,int

u)

{

int

i,m,k;

if

(l

>=

u)

return;

m

=

l;

for

(i

=

l

+

1;

i

<=

u;

i++)

if

(A[i]

<

A[l])

/*不管是选第一个元素作为pivot还是最后一个作为pivot,假如我们想得到的是从小到大的序列,那么最坏的输入情况就是从大到小的;如果我们想得到从大到小的序列,那个最坏的输入情况就是从小到大的序列*/

swap(A[++m],A[i]);

swap(A[l],A[m]);

quicksort(A,l,m

-

1);

quicksort(A,m

+

1,u);

}

void

main(int

argc,charargv)

{

omp_set_num_threads(2);//----------------设置线程数为2,因为是双核的CPU

int

k

=

0,i

=

0;

int

m

=

0,n

=

0;

double

cost

=

0;

int

len

=

10000;

int

short_len

=

len

/

2;

int

B[10000],C[10000],D[5000],E[5000];//--------将B[]分为两个小的数组,并行的对他们调用快速排序算法

#pragma

omp

parallel

default(none)

shared(B,C,len)

private(i)//---这个for循环是并行的

{

int

j

=

50000;

#pragma

omp

for

for

(i

=

0;

i

i++)

{

B[i]

=

j--;

C[i]

=

j--;

//初始化B[],C[]数组

}

}

clock_t

begin

=

clock();//----------------计时开始点

#pragma

omp

parallel

default(none)

shared(B,D,E,short_len)

private(i)//---这个for循环是并行的

{

#pragma

omp

for

for

(i

=

0;

i

i++)//---这个for循环是并行的

{

D[i]

=

B[i];//将B[]的前5000个数放入D[]

E[i]

=

B[i

+

5000];//将B[]的后5000个数放入E[]

}

}

#pragma

omp

parallel

default(none)

shared(E,D,short_len)

//private(i)------快速排序的并行region

{

#pragma

omp

parallel

sections

{

#pragma

omp

section

quicksort(D,0,short_len

-

1);//对D[]排序

#pragma

omp

section

quicksort(E,0,short_len

-

1);//对E[]排序

}

}

for

(;

k

k++)//----------将D[]和E[]进行归并排序放入B[]里面

{

if

(m

n++;

}

else

{

B[k]

=

E[m];

m++;

}

}

if

(m

==

short_len

||

n

==

short_len)

{

if

(m

==

short_len)

B[k]

=

E[m];

else

B[k]

=

D[n

-

1];

k

+=

1;

break;

}

}

if

(/*m==short_len

for

(int

p

=

0;

p

p++)

{

B[k]

=

D[n];

n++;

k++;

}

}

else

if

(/*n==short_len

for

(int

q

=

0;

q

q++)

{

B[k]

=

E[m];

m++;

k++;

}

}//----------------------------归并算法结束

clock_t

end

=

clock();//----------------计时结束点

cost

=

(double)(end

-

begin);

cout

<<

“并行时间“<<

cost

<<

endl;

//串行开始

begin

=

clock();

quicksort(C,0,len

-

1);

end

=

clock();

cost

=

(double)(end

-

begin);

cout

<<

“串行时间“<<

cost

<<

endl;

system(“pause“);

实验结果:

封面设计:

贾丽

址:中国河北省秦皇岛市河北大街438号

编:066004

话:0335-8057068

真:0335-8057068

址:http://jwc.ysu.edu.cn

-

10

-

版权所有:蓬勃范文网 2010-2024 未经授权禁止复制或建立镜像[蓬勃范文网]所有资源完全免费共享

Powered by 蓬勃范文网 © All Rights Reserved.。蜀ICP备20021444号