问答题
[说明] 下面的流程图用于统计一个英文句子中单词的个数N。假设该英文句子中只含字母、空格和句点“.”,其中句点表示结尾,空格之间连续的字母串称为单词。 [流程图]
【参考答案】
(1) N←0 (2) N+1 (3) 是 (4) 否 (5) =[考点分析] 考查算法的流程图表示。[解析] ......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
点击查看答案
<上一题
目录
下一题>
热门
试题
问答题
[说明]本程序在3×3方格中填入1到10以内9个互不相等的整数,使所有相邻两个方格内的两个整数之和为质数。程序的输出是全部满足条件的方格。方格的序号如下图所示。程序采用试探法,从序号为0的方格开始,依次为当前方格寻找一个合理的可填整数,并在当前位置正确填入后,为下一方格寻找可填入的合理整数;如不能为当前方格寻找一个合理的可填整数,就要后退到前一方格,调整前一方格的填入整数;当序号为8的方格也填入合理的整数后,就找到了一个解。为检查当前方格所填整数的合理性,程序引入数组CheckMatrix,存放需要进行合理性检查的相邻方格的序号。事实上,CheckMatrix中只要求第i个方格中的数向前兼容,即填写第4个方格时,只检查在它之前、与之相邻的第1,3个方格是否满足和为素数的条件。[程序]#include <stdio.h>int pos,a[9],b[11]; *用于存储方格所填入的整数* void write(int a[]) *方格输出函数* { ……}int isPrime(int m) *素数判断函数,若m为素数则返回1,否则返回0* { ……}int selectNum(int start) *找到start到10之间尚未使用过的最小的数,若没有则返回0* { int j;for(j=start;j<=10;j++) if(b[j]) return j;return0;}int check() *检查填入pos位置的整数是否合理* { int i,jint checkMatrix[][3]={{-1},{0,-1},{1,-1},{0,-1},{1,3,-1},{2,4,-1},{3,- 1},{4,6,-1},{5,7,-1}};for(i=0;(j= (1) )>=0;i++)if(! isPrime( (2) ))return 0;return 1;}void extend() *为下一方格找一个尚未使用过的整数* { (3) =selectNum(1);b[a[pos]]=0;}void change() *为当前方格找下一个尚未使用过的整数,若找不到则回溯* { int j;while(pos>=0&&(j=selectNum(a[pos]+1))= =0) b[a[pos- -]]=1;if(pos<0)return;(4) ;a[pos] =j;b[j]=0; }void find(){ int ok=1;pos=0;a[pos]=1;b[a[pos]]=0;do{if(ok)if( (5) ){write(a);change();}else extend();else change();ok=check(pos);}while(pos>=0);}void main(){ int i;for(i=1;i<=10;i++)b[i]=1;find();}
点击查看答案
问答题
[说明]二叉树的二叉链表存储结构描述如下:typedef struct BiTNode{ datatype data;struct BiTNode *lchild, * rchild; *左右孩子指针* }BiTNode,* BiTree;对二叉树进行层次遍历时,可设置一个队列结构,遍历从二叉树的根结点开始,首先将根结点指针入队列,然后从队首取出一个元素,执行下面两个操作:(1) 访问该元素所指结点;(2) 若该元素所指结点的左、右孩子结点非空,则将该元素所指结点的左孩子指针和右孩子指针顺序入队。此过程不断进行,当队列为空时,二叉树的层次遍历结束。下面的函数实现了这一遍历算法,其中Visit(datatype a)函数实现了对结点数据域的访问,数组queue[MAXNODE]用以实现队列的功能,变量front和rear分别表示当前队首元素和队尾元素在数组中的位置。[函数]void LevelOrder(BiTree bt) *层次遍历二叉树bt* { BiTree Queue[MAXNODE];int front,rear;if(bt= =NULL)return;front=-1;rear=0;queue[rear]= (1) ;while(front (2) ){(3) ;Visit(queue[front]->data); *访问队首结点的数据域* if(queue[front]—>lchild!:NULL){ rear++;queue[rear]= (4) ;}if(queue[front]->rchild! =NULL){ rear++;queue[rear]= (5) ;}}}
点击查看答案
相关试题
[说明]以下程序的功能是统计学生成绩,包...
[说明]某公司的服务器上为每位员工提供了...
[说明]本程序使用类来管理员工的通讯地址...
[说明]某单位组织一次职业技术考核比赛,...
[说明]本程序在3×3方格中填入1到10...