您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 综合/其它 > 东北大学计算机软件技术基础实验报告
计算机软件技术基础实验专业:学生姓名:[哈哈哈]学号:[哈哈哈]实验时间:[2016年8月22日]实验一:线性表的排序与查找#includestdio.hintaryLinearList[15];intx=0;voidprintout();voidsort();voiddeleteit(intn);voidinsert(intn);voidmain(){inti,t,a;printf(请输入10个数:\n);for(i=0;i10;i++){scanf(%d,&aryLinearList[i]);x=x+1;}printf(您的输入为:\n);printout();printf(排序后为:\n);sort();printf(请输入插入的数:\n);scanf(%d,&a);insert(a);printf(请输入要删除的数:\n);scanf(%d,&a);deleteit(a);}voidsort()//冒泡法排序{inti,j,t;for(j=0;jx-1;j++)for(i=0;ix-1-j;i++)if(aryLinearList[i]aryLinearList[i+1]){t=aryLinearList[i];aryLinearList[i]=aryLinearList[i+1];aryLinearList[i+1]=t;}printout();}voidinsert(intn)//插入并排序{aryLinearList[x]=n;x=x+1;sort();}voiddeleteit(intn)//删除{inti,j;for(i=0;ix;i++)if(aryLinearList[i]==n){for(j=i;jx;j++)aryLinearList[j]=aryLinearList[j+1];x=x-1;printout();}}voidprintout()//显示{inti;for(i=0;ix;i++)printf(%d,aryLinearList[i]);printf(\n);}实验二:栈与队列的应用#includestdio.h#includeString.h#includestdlib.h#includemath.h#defineMAX_LEN10//字符串长度#defineMAX_SIZE30//栈或队最大元素个数structQUEUE//定义队列{intnMaxSize;intnCount;intnFront;//队头intnRear;//队尾charszQueue[MAX_SIZE][MAX_LEN];};structSTACK//定义栈{intnMaxSize;intnTop;//栈顶charszStack[MAX_SIZE][MAX_LEN];};voidInitQueue(QUEUE*q,intnMaxSize)//初始化队列{q-nMaxSize=nMaxSize;q-nCount=0;q-nFront=0;q-nRear=0;q-szQueue[MAX_SIZE][MAX_LEN]=0;}voidInQueue(QUEUE*q,char*pItem)//入队{if(q-nCount==q-nMaxSize){printf(TheQueueisfull!\n);return;}strcpy(q-szQueue[q-nRear],pItem);if(q-nRear++==MAX_SIZE)q-nRear=0;q-nCount++;}voidOutQueue(QUEUE*q,char*pItem)//出队{if(q-nCount==0){printf(TheQueueisempty!\n);return;}strcpy(pItem,q-szQueue[q-nFront]);if(q-nFront++==MAX_SIZE)q-nFront=0;q-nCount--;}voidInitStack(STACK*s,intnMaxSize)//初始化栈{s-nMaxSize=nMaxSize;s-nTop=0;s-szStack[MAX_SIZE][MAX_LEN]=0;}voidPushStack(STACK*s,char*pItem)//入栈{char*p;if(s-nTops-nMaxSize){p=s-szStack[s-nTop];strcpy(p,pItem);s-nTop++;}else{printf(Thestackoverflow!\n);return;}}voidPopStack(STACK*s,char*pItem)//出栈{char*p;if(s-nTop==0){printf(stackisempty!\n);return;}else{p=s-szStack[--s-nTop];strcpy(pItem,p);}}voidGetTopStack(STACK*s,char*pItem)//获得栈顶运算符{char*p;chara[10]={0};if(s-nTop==0){a[0]=';';strcpy(pItem,a);}else{p=s-szStack[s-nTop-1];strcpy(pItem,p);}}intisdigit(charx)//判断字符{if(x='0'&&x='9')return1;return0;}intPriority(char*op)//获得操作符的优先级{intnPriority=0;switch(op[0]){case'^':nPriority=3;break;case'*':case'/':nPriority=2;break;case'+':case'-':nPriority=1;break;case';':nPriority=0;}returnnPriority;}voidCompute(char*num1,char*num2,char*op,char*chResult)//计算表达式的值{doublefNum1,fNum2;doublefResult=0;fNum1=atof(num1);fNum2=atof(num2);switch(op[0]){case'^':fResult=pow(fNum1,fNum2);break;case'*':fResult=fNum1*fNum2;break;case'/':fResult=fNum1/fNum2;break;case'+':fResult=fNum1+fNum2;break;case'-':fResult=fNum1-fNum2;break;}sprintf(chResult,%.4f,fResult);return;}intmain()//主程序{charx[MAX_LEN];//表达式charop[MAX_LEN];//栈顶运算符charnum1[MAX_LEN],num2[MAX_LEN];//操作数charchResult[MAX_LEN];//运算结果structQUEUEq1;//声明队列structQUEUE*q;structSTACKOS;//声明OS栈和NS栈structSTACKNS;structSTACK*o;structSTACK*n;inti=0;//初始化intj=0;intk=0;q=&q1;o=&OS;n=&NS;InitStack(o,20);InitStack(n,20);InitQueue(q,20);printf(pleaseinputtheexpressionendwith\';'\n);do//输入表达式{printf(next\n);scanf(%s,x);InQueue(q,x);}while(x[0]!=';');printf(expression\n);while(true){if(q-nCount!=0){OutQueue(q,x);printf(%s,x);}if(isdigit(x[0]))//输入为数字PushStack(n,x);else//输入运算符{GetTopStack(o,op);//获得OS栈顶运算符if(x[0]==';'&&op[0]==';')//输入’;’结束表达式{printf(\nresultis);break;}if(Priority(x)Priority(op))//运算符的优先级〉栈顶运算符{PushStack(o,x);continue;}while((Priority(x)=Priority(op))&&Priority(op))//运算符优先级=栈顶运算符{PopStack(n,num1);PopStack(n,num2);PopStack(o,op);Compute(num2,num1,op,chResult);PushStack(n,chResult);GetTopStack(o,op);}PushStack(o,x);}}PopStack(n,chResult);printf(%s\n,chResult);return0;}实验三:关系数据语言的应用createtableStu(Snochar(4)primarykey,Snamechar(15),Sexchar(2),Agenumeric,Birthdaydatetime,Classchar(10));createtableCourse(Cnochar(2)primarykey,Cnamechar(20),Chournumeric);createtableScore(snochar(4),cnochar(2),primarykey(sno,cno),gradenumeric);insertintoStuvalues('0101','zhangqiang','m','20','1994-02-20','zi1');insertintoStuvalues('0102','lihong','f','20','1994-08-10','zi1');insertintoStuvalues('0103','wangtao','m','21','1993-05-18','zi1');insertintoStuvalues('0104','liuli','f','19','1995-03-05','zi2');insertintoStuvalues('0105','sundong','m','21','1993-12-17','zi2');insertintoStuvalues('0106','wangping','m','22','1992-11-30','zi2');insertintoStuvalues('0201','ouyangyan','f','20','1994-04-11','dian1');insertintoStuvalues('0202','yangrui','m','20','1994-05-13','dian1');insertintoStuvalues('0203','liuyan','f','18','1996-01-21','dian1');insertintoStuvalues('0204','zhouyu','m','20','1994-07-10','dian1');select*fromstu;insertintocoursevalues('01','jisuanji','48');insertintocoursevalues('02','java','32');select*fromcourse;insertintoscorevalues('0101','01','87');insertintoscorevalues('0102','01','90');insertintoscorevalues('0103','01','79');insertintoscorevalues('0104
本文标题:东北大学计算机软件技术基础实验报告
链接地址:https://www.777doc.com/doc-4775287 .html