东北大学计算机软件基础实验文档格式.docx

上传人:b****1 文档编号:4831436 上传时间:2023-05-04 格式:DOCX 页数:25 大小:350.74KB
下载 相关 举报
东北大学计算机软件基础实验文档格式.docx_第1页
第1页 / 共25页
东北大学计算机软件基础实验文档格式.docx_第2页
第2页 / 共25页
东北大学计算机软件基础实验文档格式.docx_第3页
第3页 / 共25页
东北大学计算机软件基础实验文档格式.docx_第4页
第4页 / 共25页
东北大学计算机软件基础实验文档格式.docx_第5页
第5页 / 共25页
东北大学计算机软件基础实验文档格式.docx_第6页
第6页 / 共25页
东北大学计算机软件基础实验文档格式.docx_第7页
第7页 / 共25页
东北大学计算机软件基础实验文档格式.docx_第8页
第8页 / 共25页
东北大学计算机软件基础实验文档格式.docx_第9页
第9页 / 共25页
东北大学计算机软件基础实验文档格式.docx_第10页
第10页 / 共25页
东北大学计算机软件基础实验文档格式.docx_第11页
第11页 / 共25页
东北大学计算机软件基础实验文档格式.docx_第12页
第12页 / 共25页
东北大学计算机软件基础实验文档格式.docx_第13页
第13页 / 共25页
东北大学计算机软件基础实验文档格式.docx_第14页
第14页 / 共25页
东北大学计算机软件基础实验文档格式.docx_第15页
第15页 / 共25页
东北大学计算机软件基础实验文档格式.docx_第16页
第16页 / 共25页
东北大学计算机软件基础实验文档格式.docx_第17页
第17页 / 共25页
东北大学计算机软件基础实验文档格式.docx_第18页
第18页 / 共25页
东北大学计算机软件基础实验文档格式.docx_第19页
第19页 / 共25页
东北大学计算机软件基础实验文档格式.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

东北大学计算机软件基础实验文档格式.docx

《东北大学计算机软件基础实验文档格式.docx》由会员分享,可在线阅读,更多相关《东北大学计算机软件基础实验文档格式.docx(25页珍藏版)》请在冰点文库上搜索。

东北大学计算机软件基础实验文档格式.docx

{inti;

=L->

last;

{printf("

data[%d]="

i);

%d\n"

L->

data[i]);

voidsort(sequenlist*L)

{inti,j;

datatypea;

for(j=0;

j<

last-i;

j++)

if(L->

data[j]>

data[j+1])

{a=L->

data[j];

data[j]=L->

data[j+1];

data[j+1]=a;

voidchange(sequenlist*L)

{inta,b;

inti,j;

插入请输入2,删除请输1:

switch(a)

{case2:

printf("

请输入插入数据:

break;

case1:

请输入删除数据:

b);

{

case2:

for(i=0;

if(b>

data[i]&

&

b<

data[i+1])

break;

for(j=L->

j>

i;

j--)

data[j+1]=L->

data[i+1]=b;

;

case1:

if(b==L->

data[i])

for(j=i+1;

last-1;

data[j-1]=L->

;

default:

请正确输入数值:

插入请输入1,删除请输0:

}}

voidmain()

{sequenlist*L1;

L1=(sequenlist*)malloc(sizeof(sequenlist));

第一张表:

creatlist(L1);

sort(L1);

排序后的第一张表为:

printout(L1);

do{change(L1);

改变后的表为:

}while(!

0);

程序运行截图:

第二题程序代码:

iostream"

#include<

conio.h>

complex>

constintMAX_LEN=10;

//字符串的长度

constintMAX_SIZE=30;

//栈或队的最大元素个数

structQUEUE{//定义一个队列的结构体

intnMaxSize;

//最大值

intnCount;

//个数

intnFront;

//头

intnRear;

//尾

charszQueue[MAX_SIZE][MAX_LEN];

};

structSTACK{//定义一个栈的结构

intnTop;

//栈顶

charszStack[MAX_SIZE][MAX_LEN];

voidInitQueue(QUEUE*q,intnMaxSize)//队列的初始化操作

(*q).nMaxSize=nMaxSize;

(*q).nCount=0;

(*q).nFront=0;

(*q).nRear=0;

voidInQueue(QUEUE*q,char*pItem)//进入队列的函数

if((*q).nCount==(*q).nMaxSize)

{

printf("

ThequeueisFULL!

"

}

else

(*q).nCount++;

strcpy((*q).szQueue[(*q).nRear],pItem);

(*q).nRear=((*q).nRear+1)%((*q).nMaxSize);

voidOutQueue(QUEUE*q,char*pItem)//出队列的函数

if((*q).nCount==0)

ThequeueisEMPTY!

strcpy(pItem,(*q).szQueue[(*q).nFront]);

(*q).nCount--;

(*q).nFront=((*q).nFront+1)%((*q).nMaxSize);

voidInitStack(STACK*s,intnMaxSize)//栈的初始化操作函数

(*s).nMaxSize=nMaxSize;

(*s).nTop=0;

voidPushStack(STACK*s,char*pItem)//压栈的函数

if((*s).nTop==(*s).nMaxSize)

ThestackisFULL!

(*s).nTop++;

strcpy((*s).szStack[(*s).nTop],pItem);

voidPopStack(STACK*s,char*pItem)//弹栈的函数

if((*s).nTop==0)

ThestackisEMPTY!

strcpy(pItem,(*s).szStack[(*s).nTop]);

(*s).nTop--;

voidGetTopStack(STACK*s,char*pItem)//获得栈顶中操作符的函数

intPriority(char*op)//获得操作符的优先级

intnPriority=0;

switch(op[0])

case'

^'

:

nPriority=3;

break;

*'

/'

nPriority=2;

+'

-'

nPriority=1;

'

nPriority=0;

returnnPriority;

voidCompute(char*num1,char*num2,char*op,char*chResult)//计算表达式的值

doublefNum2,fNum1;

doublefResult=0;

fNum1=atof(num1);

fNum2=atof(num2);

fResult=pow(fNum1,fNum2);

fResult=fNum1*fNum2;

fResult=fNum1/fNum2;

fResult=fNum1+fNum2;

fResult=fNum1-fNum2;

sprintf(chResult,"

%.4f"

fResult);

//把计算结果转换成字符串

return;

chartemp[MAX_LEN];

charepsn[MAX_SIZE][MAX_LEN];

inti=0;

intn=0;

structQUEUEq;

//声明一个队列

InitQueue(&

q,MAX_SIZE);

//初始化队列

structSTACKOS;

//声明OS栈和NS栈

structSTACKNS;

InitStack(&

OS,MAX_SIZE);

//初始化堆栈

NS,MAX_SIZE);

//输入表达式,并放入到队列当中

Pleaseinputaequationnow:

\n\n"

while

(1)

scanf("

%s"

temp);

if(!

strcmp(temp,"

))

{

InQueue(&

q,"

break;

}

strcpy(epsn[n++],temp);

InQueue(&

q,temp);

n;

i++)//显示表达式

epsn[i]);

//表达式求值

charx[MAX_LEN];

//扫描的表达式

charop[MAX_LEN];

//栈顶运算符

charnum1[MAX_LEN],num2[MAX_LEN];

//两个操作数

charchResult[MAX_LEN];

//运算结果

OutQueue(&

q,x);

//扫描表达式

PushStack(&

OS,"

//压栈

while(true)

if(isdigit(x[0]))//是数

PushStack(&

NS,x);

//将数压栈

OutQueue(&

q,x);

}

else//认为是运算符,没有考虑空格等

GetTopStack(&

OS,op);

//获得OS栈顶运算符

if(Priority(x)>

Priority(op))//运算符的优先级〉栈顶运算符

{

PushStack(&

OS,x);

OutQueue(&

continue;

}

if(x[0]=='

&

op[0]=='

)//扫描结束

PopStack(&

NS,chResult);

printf("

=%s\n\n"

chResult);

break;

if(Priority(x)<

=Priority(op))//不大于栈顶运算符

NS,num1);

NS,num2);

OS,op);

Compute(num2,num1,op,chResult);

第三题:

1、创建三个表Stu、Course、Score

CREATETABLEStu(

SnoCHAR(4)PRIMARYKEY,

SnameCHAR(10),

SexCHAR(4),

AgeNUMERIC,

BirthDayDATETIME,

ClassCHAR(10),

CREATETABLECourse(

CnoCHAR

(2)PRIMARYKEY,

CnameCHAR(10),

ChourNUMERIC,

CREATETABLEScore(

SnoCHAR(4),

CnoCHAR

(2),

PRIMARYKEY(Sno,Cno),

GradeNUMERIC,

2、向Stu表中插入数据

/*插入数据*/

InsertintoStu(Sno,Sname,Sex,Age,BirthDay,Class)

values('

0101'

'

张强'

男'

20'

1994-02-20'

自动化01班'

0102'

李红'

女'

1994-08-10'

0103'

王涛'

21'

1993-05-18'

0104'

刘丽'

19'

1995-03-05'

自动化02班'

0105'

孙东'

1993-12-17'

0106'

王平'

22'

1992-11-30'

0201'

欧阳燕'

1994-04-11'

电子01班'

0202'

杨锐'

1994-05-13'

0203'

刘艳'

18'

1996-01-21'

0204'

周宇'

1994-07-10'

3、导入课程数据

InsertintoScore(Sno,Cno,Grade)

01'

87'

90'

79'

89'

58'

77'

95'

80'

76'

70'

02'

91'

88'

75'

84'

83'

57'

2.

SelectSname,Cname,GradefromStu,Course,Score

whereStu.Sno=Score.SnoandCourse.Cno=Score.Cno;

SelectdistinctStu.Sno,Sname,ClassfromStu,Score

whereStu.Sno=Score.SnoandGrade<

60;

SelectSname,avg(Grade)PJCJ,sum(Grade)ZCJfromStu,ScorewhereScore.Sno=Stu.SnogroupbyStu.Sname;

SelectSname,ClassfromStuwhereexists(Select*fromScorewhereStu.Sno=Score.SnoandScore.Cno='

andScore.Grade>

=85)

andexists(Select*fromScorewhereStu.Sno=Score.SnoandScore.Cno='

=85)

UpdateCoursesetCname='

网络技术'

whereCno='

UpdateStusetSname='

zhangxu'

Sex='

m'

age='

whereSno='

UpdateScoresetGrade=60whereSnoin(SelectSnofromStuwhere

Sex='

)andGradebetween55and59;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2