问答题
[说明] 设学生某次考试的成绩按学号顺序逐行存放于某文件中,文件以单行句点“.”为结束符。下面的流程图读取该文件,统计出全部成绩中的最高分max和最低分min。
【参考答案】
(1) max←a (2) min←a (3) a="."(4) a>max或a≥max或max<a或max≤a(5) ......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
点击查看答案
<上一题
目录
下一题>
热门
试题
问答题
[说明]链式存储的队列称为链队。根据队列的FIFO原则,为了操作上的方便,可以使用带头指针front和尾指针rear的单链表来实现链队。若链队元素的数据类型为datatype,则链队结构描述如下:typedef struct node{ datatypedata;structnode *next;} QNode; *链队结点的类型* typedef struct{ QNnode *front,*rear;} LQueue; *将头尾指针封装在一起的链队* 以下这种链队的几个例子:设q是一个指向链队的指针,即LQueue *q。下面各函数的功能说明如下:(1) LQueue *Init_LQueue():创建并返回一个带头尾结点的空链队;(2) intEmpty_LQueue( LQueue *q):判断链队q是否空;(3) void In_LQueue(LQueue *q, datatypex):将数据x压入链队q;(4) int Out_LQueue(LQuere *q, datatype *x):弹出链队q的第一个元素x,若成功则返回返回1否则返回0。[函数]LQueae *Init_LQueue(){ LQueue *q, *p;q=malloc(sizeof(LQueue)); *申请链队指针* P=malloc(sized(QNode)); *申请头尾指针结点* p->next=NULL;(1) =p;return q;}int Empty_LQueue(LQueue *q){ if(q->front (2) q>rear) return 0;else return 1;}void In_LQueue(LQueue *q, datatype x){ QNoda *p;p=malloc(sizeof(QNnode)); *申请新接点* p->data=x;p->next=NULL;(3) =p;q->rear=p;}int Out_LQueue(LQueue *q, datatype *x){ QNnode *p;if(Empty_LQueue(q)) return 0; *队空,操作失败* else{p=q->front->next;*x= (4) ;(5) =p->next;free(p);if (q->front->next= =NULL)q->rear=q->front;return 1;}}
点击查看答案
问答题
[说明]函数encode()和decode()分别通过参数传递实现对字符串的变换和复原,返回值均为处理以后的字符串长度。变换函数encode()顺序考察已知字符串的字符,按以下规则逐组生成新字符串:(1)若已知字符串的当前字符不是数字字符,则复制该字符于新字符串中;(2)若已知字符串的当前字符是一个数字字符,且它之后没有后继字符,则简单地将它复制到新字符串中;(3)若已知字符串的当前字符是一个数字字符,并且还有后继字符,设该数字值为n,则将其后继字符重复复制n+1次到新字符串中;(4)以上述一次变换为一组,在不同组之间另插入一个下划线‘_’用于分隔。例如:encode()函数对字符中26a3t2的变换结果为666_a_tttt_2。函数decode()用于经函数encode()处理的字符中,即复制不连续相同的单个字符,而将一组连续相同的字符(不超过10个)变换成一个用于表示重复次数的数字符和一个重复出现的字符,并在复原过程中掠过变换函数为不同组之间添加的一个下划线字符。注:假定调用变换函数encode()时的原始字符串中不包含下划线字符。[函数]int encode(char *instr,char *outstr){ char *ip, *op,c;int k,n;ip=instr;op=outstr;while ( * ip) {if(*ip>=’0’&&*ip<=’9’&&*(ip+l)) {n=*ip-’0’+1;c= (1) ;for (k=0;k<n;k++) *op++=c;}else *op++=*ip;(2) ;ip++;}if (op>outstr) (3) ;*op=’ 0’;(4) ;}int decode(char *instr,char *outstr){ char *ip,*op,c;int n;ip=instr; op=outstr;while ( *ip) {c=*ip;n=0;while( *ip==c&&n<10) { (5) ; n++; }if(n>1) *op+ + =’0’+n-1;* op++=c;if(*ip==’_’) ip++;}*op=’ 0’;(4) ;}
点击查看答案
相关试题
[说明]下图是一个简易文本编辑器程序的运...
[说明]本程序中预设了若干个用户名和口令...
[说明]某银行新近开通外汇定期存款业务。...
[说明]当用户启动html浏览器并首次打开下...
[说明]链式存储的队列称为链队。根据队列...