我的暑假数据结构练习题及解一.doc

上传人:博****1 文档编号:544087542 上传时间:2022-10-09 格式:DOC 页数:6 大小:27.50KB
返回 下载 相关 举报
我的暑假数据结构练习题及解一.doc_第1页
第1页 / 共6页
我的暑假数据结构练习题及解一.doc_第2页
第2页 / 共6页
我的暑假数据结构练习题及解一.doc_第3页
第3页 / 共6页
我的暑假数据结构练习题及解一.doc_第4页
第4页 / 共6页
我的暑假数据结构练习题及解一.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《我的暑假数据结构练习题及解一.doc》由会员分享,可在线阅读,更多相关《我的暑假数据结构练习题及解一.doc(6页珍藏版)》请在金锄头文库上搜索。

1、第一周培训题宋细辉 2011114119第1题 (分值:3分) 输入字符串str,倒叙输出str,注意支持中文,例如 “Tom吃西瓜”输出 “瓜西吃moT”。#include#include#define N 20void main() int i=0,j=0,tagN; char strN,sN3; char *pN,*q; printf(请输入任意一个字符串:n); gets(str); q=str; while(*q!=0) if(*q=0&*q=130) tagi=1; pi=q; q+;i+; else tagi=0; pi=q;q=q+2;i+; i-; for(j=0;j=0)i

2、f(tagi)printf(%c,si0);elseprintf(%c%c,si0,si1);i-;printf(n);第2题 (分值:3分) 在主函数中输入10个等长的字符串。用另外一函数对他们进行排序(采用字符的升序或降序)。然后在主函数输出这10个已经排好序的字符串(不允许采用strcmp函数)#include#include#define N 10#define M 100int Compare(char p1M,char p2M)int i=0;while(p1i!=0&p2i!=0)if(p1ip2i)return 1;else if(p1ip2i)return 0;elsei+;

3、if(p2i=0)return 1;return 0;Order(char *pN)char tM;int i,j;for(i=1;iN;i+)for(j=0;jN-i;j+)if(Compare(pj,pj+1)strcpy(t,pj);strcpy(pj,pj+1);strcpy(pj+1,t);void main()char *pN,strNM;int i;printf(请输入%d个等长的字符串:n,N);for(i=0;iN;i+)gets(stri);pi=stri;Order(p);printf(字符串排序得:n);for(i=0;iN;i+)puts(pi);printf(n);

4、第3题 (分值:3分) 假设有n个人围坐在一张圆桌上,现从某一个人开始报数,数到第m个人出列,如此下去直到所有的人都出列,求出他们的出列顺序(可以将人转换为相应的数字)/*用对列实现*/#include#include#define FALSE 0#define TRUE 1#define MAXSIZE 100typedef structint elemMAXSIZE;int front;int rear;*Queue,Node;void InitQueue(Queue *Q)*Q=(Queue)malloc(sizeof(Node);(*Q)-front=-1;(*Q)-rear=-1;i

5、nt IsEmptyQueue(Queue Q)if(Q-rear=Q-front)return TRUE;return FALSE;int EnterQueue(Queue Q,int x)if(Q-rear+1)%MAXSIZE=Q-front)return FALSE;Q-elemQ-rear=x;Q-rear=(Q-rear+1)%MAXSIZE;return TRUE;int DeleteQueue(Queue Q,int *x)if(Q-rear=Q-front)return FALSE;*x=Q-elemQ-front;Q-front=(Q-front+1)%MAXSIZE;re

6、turn TRUE;void YouXi()int i,k,m,n,x;Queue Q;InitQueue(&Q);printf(请输入总人数,报数,以及从第几个人开始报数k:n);scanf(%d%d%d,&n,&m,&k);for(i=1;i=n;i+)EnterQueue(Q,i);i=1;while(i!=k)DeleteQueue(Q,&x);EnterQueue(Q,x);i+;i=1;while(!IsEmptyQueue(Q)DeleteQueue(Q,&x);if(i=m)printf(%3d出队t,x);i=0;else EnterQueue(Q,x);i+;void ma

7、in()int xz;printf(n0.结束);printf(n1.开始);printf(n请选择:);scanf(%d,&xz);while(xz)YouXi();printf(n还要继续吗?请选择(以0结束):);scanf(%d,&xz);printf(结束!n);/*不用队列*/#include#define N 99void YS()int m,n,a,k,tagN,i,j,flag;printf(请输入总人数n,报数数m,从第几个开始报数a:);scanf(%d%d%d,&n,&m,&a);for(i=1;i=n;i+)tagi=1;i=(a=n)?a:(a%n);j=1;while(tagi&i=n)if(j=m&tagi)printf(%2d出列t,i);tagi=0;j=0;if(i=n)i=0;i+;while(tagi=0&i=n&flag)flag=0;if(i=n)i=0;i+;for(k=1;k=n;k+)if(tagk=1)flag=1;j+;printf(n);void main()int xz;printf(n0.结束操作);printf(n1.开始);printf(n请选择:);scanf(%d,&xz);while(xz)YS();printf(n还要继续吗?请选择:);scanf(%d,&xz);printf(n);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号