77范文网 - 专业文章范例文档资料分享平台

计算机软件实验报告 - 图文

来源:网络收集 时间:2019-03-03 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

计算机软件基础实验

实验一:

键盘输入一组无序数据,添加到线性表中;排序线性表并输出排序结果;键盘输入一个数,并插入到排好序的线性表中(要求插入后的表仍为有序表),输出结果;键盘输入一个数,并从线性表中删除相应的数据,输出结果。

程序清单:

// Experiment1.cpp : 定义控制台应用程序的入口点。 //#include \#include \#include

// 程序实现有各种方法,这里给出一个实例。

// 定义一个线性表

const int nMaxSize = 15; // 最大值 int nLen = 0; // 表中元素个数 int nLinearList[nMaxSize];

// 定义操作 void LSort(); void LOut();

void LInsert(int n); void LDelete(int n);

void main() { // 输入数据并放入线性表中 printf(\// std::cout << \ int nIn = 0; for (int i = 0; i <= 9; i++) { scanf(\// std::cin >> nIn; nLinearList[i] = nIn; nLen++; } LSort(); // 排序线性表 LOut(); // 输出结果 printf(\ scanf(\ LInsert(nIn); // 输入一个数字,并插入到线性表中 LOut();

printf(\ scanf(\ LDelete(nIn); // 输入一个数字,并从线性表中删除 LOut(); char chTmp; printf(\ chTmp = getch(); //return 0; }

void LSort() // 冒泡排序,由大到小 { int j,F,k,M; F=(nLen-1); while(F<16) { k=F-1;F=16; for(j=0;j<=k;j++) { if(nLinearList[j]

void LOut() { printf( \ for (int i = 0; i < nLen; i++) { printf( \ } printf( \}

void LInsert(int n) { int i,j; i=0; while (i

{ if (nLinearList[i]<=n) { nLen++; for (j=nLen;j>=i;j--) nLinearList[j+1]=nLinearList[j]; nLinearList[i]=n; break; } i++; } }

void LDelete(int n) { int i,j; for(i=0;i

运行结果:

实验二:键盘输入算数表达式,并放入队列当中;应用栈的概念设计表达式求值算法;输出表达式求值结果;

程序清单:

// Experiment2.cpp : 定义控制台应用程序的入口点。

//#include \#include \#include \#include #include

// 程序实现有各种方法,这里给出一个实例。

const int MAX_LEN = 10; // 字符串的长度 const int MAX_SIZE = 30; // 栈或队的最大元素个数 char pitem[10] = {'\\0'}; int numbers=0;

// 定义一个队列的结构 struct QUEUE { int nMaxSize; // 最大值 int nCount; // 个数 int nFront; // 头 int nRear; // 尾 char szQueue[MAX_SIZE][MAX_LEN]; };

//定义一个栈的结构 struct STACK { int nMaxSize; // 最大值 int nTop; // 栈顶 char szStack[MAX_SIZE][MAX_LEN]; };

// 队列的操作

void InitQueue(QUEUE *q,int nMaxSize); int InQueue(QUEUE *q, char *pItem); int OutQueue(QUEUE *q, char *pItem);

//栈的操作

void InitStack(STACK *s,int nMaxSize);

int PushStack(STACK *s, char *pItem); int PopStack(STACK *s, char *pItem);

void GetTopStack(STACK *s, char *pItem);

int Priority(char *op); // 获得操作符的优先级

void Compute(char *num1, char *num2, char *op, char *chResult);

int isdigit(char isnum);

int main() { // 声明一个队列 struct QUEUE que; InitQueue(&que,MAX_SIZE); // 声明OS栈和NS栈 struct STACK OS,NS; InitStack(&OS,MAX_SIZE); InitStack(&NS,MAX_SIZE); // 输入表达式,并放入到队列当中 printf(\ do { for(int j=0;j<10;j++) pitem[j] = '\\0'; gets(pitem); InQueue(&que, pitem); }while(pitem[0]!=';'); // 显示表达式 do { printf(\ numbers++; }while(que.szQueue[numbers][0]!=';'); // 表达式求值 char x[MAX_LEN]; // 扫描的表达式 char op[MAX_LEN]; // 栈顶运算符 char num1[MAX_LEN], num2[MAX_LEN]; // 两个操作数 char chResult[MAX_LEN]; // 运算结果 OutQueue(&que, x); // 扫描表达式 PushStack(&OS,\ // ;压栈 while (1) { if (isdigit(x[0])) // 是数 PushStack(&NS,x); // 数字压栈

// 计算表达式的值

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库计算机软件实验报告 - 图文在线全文阅读。

计算机软件实验报告 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/489044.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: