西电机电院自动化专业软件技术基础上机报告(5)
班级:041132 学号:04113*** 姓名:
/******************************************************************** 对链表进行从高到低排序
********************************************************************/ linklist *SORT(linklist *head) {
linklist *p,*q; int number2; float price2; p=head->next;
while(p->next!=head) {
q=p->next; while(q!=head) {
if(p->price<(q->price)) {
number2=p->number; price2=p->price; p->number=q->number; p->price=q->price; q->number=number2; q->price=price2; }
q=q->next; }
p=p->next; }
return head; }
/********************************************************** 按照由高到低的顺序先寻找插入位置,然后将节点插入链表
***********************************************************/ linklist *INSERT(linklist *head,linklist *s) {
linklist *q,*p; p=head->next; q=p->next;
if(s->price>p->price) {
s->next=p; head->next=s;
班级:041132 学号:04113*** 姓名:
}
if(s->price
p=p->next;; q=q->next; }
s->next=q; p->next=s;
return head; }
/********************************************************* 主函数
**********************************************************/ int main() {
linklist *head,*s;
s=(linklist *)malloc(sizeof(linklist)); head=CREAT();
printf(\ PRINT(head);
printf(\ SORT(head);
printf(\ PRINT(head);
printf(\
s=(linklist *)malloc(sizeof(linklist));
printf(\ scanf(\ printf(\ INSERT(head,s);
printf(\ PRINT(head);
printf(\ return(1); }
第五题:
方法一:
班级:041132 学号:04113*** 姓名:
/******************************************************************* 假设称正读反读都相同的字符序列为回文。例如,‘abba’,‘abcba’都是回文, ‘ababab’不是回
文,试编写程序判别从标准输入读入的以’@’为结束符的字符序列是否是回文。 假设称正读反读都相同的字符序列为回文。例如,‘abba’,‘abcba’都是回文, ‘ababab’不是回文,
试编写程序判别从标准输入读入的以’@’为结束符的字符序列是否是回文。 编译环境:GCC
开发软件:Codeblocks
基本思想:将字符存入数组,然后对数组进行首尾两端的元素进行比较,若相等,则将前标号后移一
位,同时后标号前移一位。
********************************************************************/ #include
char a[maxsize]; int n=0,Flag=0; int i,j;
printf(\ a[n]=getchar(); while(a[n]!='$') { n++;
a[n]=getchar(); }
printf(\ for(i=0;i printf(\ } for(i=0,j=n-1;(i { if(a[i]==a[j]) Flag++; else break; } if(Flag==n/2) printf(\ else printf(\ 班级:041132 学号:04113*** 姓名: } return (1); 方法二: /***************************************************************************************************** 假设称正读反读都相同的字符序列为回文。例如,‘abba’,‘abcba’都是回文, ‘ababab’不是回文, 试编写程序判别从标准输入读入的以’@’为结束符的字符序列是否是回文。 编译环境:GCC 开发软件:Codeblocks 基本思想:采用堆栈的思想:先将数据存入链表,然后计算链表长度,将链表的前一半压入堆栈,若长度为则需 先将链表当前指向后移一个,在将堆栈数据弹出,与链表后半部分数据进行比较;若长度为偶数,则直接将链堆、 栈中数据弹出与链表中的后半部分进行比较。 *****************************************************************************************************/ #include typedef struct Stack { datatype element[maxsize]; int Top; }Stack; //定义栈体 typedef struct node { datatype data; struct node *next; }linklist; //定义链表,存储待判定字符 void SETNULL(Stack *s )//将栈体置空 { s->Top=-1; } int EMPTY(Stack *s) // 判断栈体是否是空 { 班级:041132 学号:04113*** 姓名: if(s->Top==-1) return (1); else return (0); } Stack *PUSH(Stack *s,datatype E) //入栈 { if(s->Top>=maxsize-1) { printf(\ return (NULL); } else { s->Top++; s->element[s->Top]=E; } return s; } datatype *POPS(Stack *s) //出栈 { datatype *temp; if(EMPTY(s)) { printf(\ return (NULL); } else { s->Top--; temp=(datatype *)malloc(sizeof(datatype)); *temp=s->element[s->Top+1]; } return temp; } datatype *GETTOPS(Stack *s) //取栈顶元素 { datatype *temp; if (EMPTY(s))
相关推荐:
- [建筑文档]2018年公需课:专业技术人员创新能力与
- [建筑文档]2013年福建教师招考小学数学历年真题
- [建筑文档]高中信息技术课flash知识点总结 - 图文
- [建筑文档]电工实训 - 图文
- [建筑文档]最高院公告案例分析100篇(民商篇)
- [建筑文档]南开中学高2017级14-15学年(上)期末
- [建筑文档]五粮液集团战略分析
- [建筑文档]鲁教版(2012秋季版)九年级化学 酸碱
- [建筑文档]超星尔雅2017中国哲学概论自整理题库答
- [建筑文档]关于成为海口金盘饮料公司材料独家供货
- [建筑文档]LNG学习资料第一册 基础知识 - 图文
- [建筑文档]四年级品社下册《好大一个家》复习资料
- [建筑文档]现阶段领导权力腐败的特点及发展趋势
- [建筑文档]魏晋南北朝诗歌鉴赏—嵇康
- [建筑文档]坚持追求真爱是理智的行为 正方一辩稿
- [建筑文档]湘西州刑释解教人员帮教安置工作存在的
- [建筑文档]园林工程试题库及答案
- [建筑文档]计算机长期没有向WSUS报告状态
- [建筑文档]日语最新流行语
- [建筑文档]B62-016 景观进场交底专题会议
- 2018年中考语文课内外古诗词鉴赏专题复
- 高考试题研究心得体会
- C语言基础题及答案
- 电气控制及PLC习题及答案
- 都昌小学家长学校汇报材料
- GMAT作文模板正确使用方法
- 俄军办坦克大赛:中国99式有望与豹2A6
- 成本会计练习题
- 酒店餐饮业最流行的5S管理方法
- 2014-2015学年山东省菏泽市高二(下)
- 《黄鹤楼送孟浩然之广陵》教案、说课、
- 2013年结构化学自测题 有答案版
- 2011西安世界园艺博览会游览解说词(附
- 窗口文明单位示范单位创建活动总结
- 2018满分超星尔雅就业课后练习期末答案
- 韶山市城市总体规划-基础资料
- 苏教版第三单元知识点归纳
- 第4章 曲轴模态分析
- 加大查办案件力度的思考
- 武汉CPC导轨介绍




