计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机软件水平考试
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
程序员(初级)
信息系统项目管理师(高级)
系统分析师(高级)
系统架构设计师(高级)
网络规划设计师(高级)
系统规划与管理师(高级)
软件评测师(中级)
软件设计师(中级)
网络工程师(中级)
多媒体应用设计师(中级)
嵌入式系统设计师(中级)
电子商务设计师(中级)
系统集成项目管理工程师(中级)
信息系统监理师(中级)
信息安全工程师(中级)
数据库系统工程师(中级)
信息系统管理工程师(中级)
软件过程能力评估师(中级)
计算机辅助设计师(中级)
计算机硬件工程师(中级)
信息技术支持工程师(中级)
程序员(初级)
网络管理员(初级)
信息处理技术员(初级)
电子商务技术员(初级)
信息系统运行管理员(初级)
网页制作员(初级)
多媒体应用制作技术员(初级)
PMP项目管理员资格认证
程序员应用技术
程序员基础知识
程序员应用技术
问答题【函数2.1说明】 有1、2、3、4四个数字,输出由这些数字组成的互不相同且无重、复数字的三位数。 【函数2.1】 main() { int i,j,k; printf("/n"); for({{U}} (1) {{/U}}) /*以下为三重循环*/ for(j=1; j<5;j++) for (k=1;k<5;k++) { if ({{U}} (2) {{/U}}) /*确保i, j, k 三位互不相同*/ printf("%d,%d,%d/n",i,j,k); } } 【函数2.2说明】 计算并输出100之内的素数,每行输出10个,超过10个则换行。 【函数2.2】 #include <stdio.h> #include "math.h" #define N 101 main() { int i,j,line,a[N]; for(i=2;i<N;i++){{U}} (3) {{/U}}; for(i=2;i<sqrt(N);i++) for(j=i+1;j<N;j++) { if(a[i]!=0 } printfC/n"); for(i=2,line=0;i<N;i++) { if(a[i]!=0) { prinff("%5d",a[i]); {{U}} (5) {{/U}}; } if(line==10) { prinff("/n"); line=0; } } }
进入题库练习
问答题[说明] 本程序接收输入的学生信息,包括学号、姓名、成绩,原样输出信息并计算学生的平均成绩。其中学生类Stud除了包括no(学号)、name(姓名)和grade(成绩)数据成员外,还有两个静态变量 sum和num,分别存放总分和人数,另有一个构造函数、一个普通成员函数disp()和一个静态成员函数avg()用于计算平均分。 [Java代码] public class Stud { public int no; public String name; public double grade; public {{U}}(1) {{/U}} double sum=0; public static int num=0; public Stud(int no,String name,double grade) { this.no = no; this.name = name; this.grade = grade; this.sum={{U}} (2) {{/U}}; {{U}} (3) {{/U}}; } public static double avg(){ return {{U}}(4) {{/U}}; } public void disp(){ System.out.println(this.no+"/t"+this.name+"/t"+this.grade); } public static void main(String[] args) { Stud []students = {new Stud (1,"Li", 81), new Stud(2,"Zhao",84.5), new Stud(3,"Zhang", 87)}; System.out.pfintln("no/tname/tgrade"); students[0].disp(); students[1].disp(); students[2].disp(); System.out.println("avg="+{{U}} (5) {{/U}}); } }
进入题库练习
问答题[说明] 函数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' c={{U}} (1) {{/U}}; for (k=0;k<n;k++) *op++=c; } else *op++=*ip; {{U}}(2) {{/U}}; ip++; } if (op>outstr) {{U}}(3) {{/U}}; *op='/0'; {{U}}(4) {{/U}}; } 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++; } if(n>1) *op+ + ='0'+n-1; * op++=c; if(*ip=='_') ip++; } *op='/0'; {{U}} (4) {{/U}}; }
进入题库练习
问答题[说明] 以下程序的功能是统计学生成绩,包括输入学生的姓名和成绩,按成绩从高到低排列打印输出,对前百分之七十的学生定为合格(PASS),而后百分之三十的学生定为不合格(FAIL)。例如,当输入4名学生的姓名和成绩“Alice 67 Mary 90 Tom 56 John 88”后,程序的执行结果如下: 姓名 成绩 合格否 Mary 90 PASS John 88 PASS Alice 67 FAIL Tom 56 FAIL[C++程序]#include <stdio.h>#include <string.h>#define N 10class student protected: char name[10]; int deg; public: void setname(charna[]) strcpy(name,na); char * getname() return name; void setdeg(int d) deg= d; int getdeg()return deg;;class compute int ns; student na[N]; public: void getdata(); void sort(); void disp();;void compute::getdata() int i,tdeg; char tname[10]; printf("输入学生人数:"); scanf("%d", printf("输入学生姓名和成绩:/n"); for(i=0;i<ns;i+ +) scanf("%s%d",tname, (1) ; na[i].setdeg(tdeg); void compute::sort() int i,j,pick; (2) ; for(i=0;i<ns-1;i+ +) pick=i; for(j=i+1;j<ns;j+ +) if(na[j].getdeg()>na[pick].getdeg()) (3) ; temp=na[i]; na[i]=na[pick]; na[pick]=temp; void compute::disp() int cutoff,i; printf("RESULT/n"); printf("姓名 成绩 合格否/n"); cutoff=ns*7/10-1; for(i=0;i<ns;i+ +) printf("%-6s%3d", (4) ); if( (5) ) printf("/tPASS/n"); else printf("/tFAIL/n");void main() compute obj; obj.getdata(); obj.sort(); obj.disp();
进入题库练习
问答题[说明]我国现行使用的公民身份证号码有两种,分别遵循两个国家标准:〖GB11643-1989〗和〖GB11643-1999〗。〖CB11643-1989〗中规定的是15位身份证号码,排列顺序从左至右依次为:六位数字地址码,六位数字出生日期码,三位数字顺序码,其中出生日期码不包含世纪数。〖GB11643-1999〗中规定的是18位身份证号码,是特征组合码,它由十七位数字本体码和一位数字校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位校验码。其中,校验码C由本体码按如下过程求得:(1)计算校验码和S=a18W18+a17W17+…+a2w2,其中i表示18位身份证号,码每一位的序号,从右至左,最左侧为18,最右侧为1;ai表示身份证号码第i位上的号码;wi表示第i位上的权值,其值为2i-1模11的结果;(2)计算校验码值R,其值为校验和模11的结果;(3)根据下面对应关系找出校验码C:R012345678910C10X98765432由上述计算过程可以看出,18位身份证号码中可能包含非数字的字母X(代表数字10)。下面的应用程序基于这一算法实现了身份证号码的升位查询:在开发过程中,显示新旧两种身份证号码的文本框(TextBox)分别名为Text1和Text2,“号码升位”按钮(CommandButton)名为Command1。代码中使用到的字符串函数及功能说明如下:(1)Len(s):获取字符串s的长度;(2)Left(s,1):返回字符串s左端长度为1的子串;(3)Right(s,1):返回字符串s右端长度为1的子串;(4)Mid(s,p,1):返回字符串s从第P个字符开始长度为1的子串。[VisualBasic代码]’计算18位身份证号码PrivateSubCommandl_Click()DimcodeAsStringDimSAsIntegercode=Textl.Text'提取15位身份证号码IfLen(code)<>15ThenMsgBox"ID号码长度不正确,请检查!"{{U}}(1){{/U}}EndIfcode=Left(code,6)+"19"+{{U}}(2){{/U}}(code,9)'年份升位S=0Fori=18To2Step-1'计算校验码和S=S+Clnf({{U}}(3){{/U}})*(2^(i-1)Mod11)Nexti{{U}}(4){{/U}}'计算校验码值SelectCaseS'确定校验码Case0:code=code+"1"Case1:code=code+"0"Case2:code=code+"X"CaseElse:code=code+CStr({{U}}(5){{/U}})EndSelectText2.Text=code'显示18位身份证号码EndSub
进入题库练习
问答题[C语言函数] intB_s[DAYS+1]; /*记录成本最小的生产计划,B_s[0]不用,DAYS定义为天数*/ double find_a_plan(FILE *int) { iht P_nm[DAYS+1],acc_req[DAYS+1]; int i,tag = 0,acc_qty = 0; double mincost = 1.0e20,cost_Produce,cost_Keep; for(i = 1;i <= DAYS; i++) { /*第i天时的累计零件需求量存入acc rcq[i] */ acc_qty += data[i].Qty_req; acc_req[i] = acc qty; } while (!feof(int)) { for(i = 1; i <= DAYS; i++ )/*读入一个生产计划,第i天的产量存入P_num[i]*/ if (!feof(inf)) fseant[inf,"%d", tag = 0; cost_Produce = 0; cost_Keep = 0; for(i = 1,{{U}} (1) {{/U}};i <= DAYS; i++){ /*考查当前的生产计划*/ acc qty += P_num[i]; /* acc_qty 计录到第i天时的累计零件生产量*/ if (acc_qty < acc_req[i]) {/*当前生产计划不能满足需求*/ tag = 1; break; }/*if*/ cost_Produce += {{U}}(2) {{/U}}; /*计算当前生产计划的总需件价格*/ cost_Keep += ({{U}} (3) {{/U}}) * data[i],Keeping_fee; }/*for*/ if({{U}} (4) {{/U}}) /* 若当前生产计划不可行,则继续读取下一计划*/ continue; if({{U}} (5) {{/U}}) { /*记录成本更小的生产计划*/ mincost = costProduce + cost_Keep; for(i = 1; i <=DAYS; i++) B_s[i] = P num[i]; }/*if*/ }/*while*/ return mincost; }
进入题库练习
问答题试题三(15分,每空3分)阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。[函数说明]函数movetoend(LinkedListLa,inti)的功能是:将线性表A的第i个元素移到表尾。若移动成功,则返回0,否则返回-1。线性表A采用带头结点的单链表表示,La为表A的头指针,如下图所示。链表结点的类型定义为:typedefstructnode{intkey;structnode*next;}*LinkedList;[函数]intmovetoend(LinkedListLa,inti){LinkedListp,q,prep;intk=1;p=La->next;prep=La;while((1)){/*查找第i个元素并使指针p指向该结点*/prep=p;p=p->next;k++;}if(!p||k>i)return-1;if((2))/*第i个元素结点已经是表尾结点,则无需移动*/return0;q=p;while((3))q=q->next;/*查找表尾并使q指向表尾结点*/(4)=p->next;p->next=NULL;(5);return0;}
进入题库练习
问答题试题三 以下是与Visual Basic 开发应用有关的5 个问题。对每一个问题,请将解答填入答题纸的对应栏内。 (1) 在Visual Basic 中,工程文件、窗体文件和标准模块文件的扩展名是什么?请从下列选项中选择: prg、prj、exe、vbp、form、frm、win、fra、std、bas、vbs、vbm (2) 设某窗体上有一个命令按钮,其名称为CmdSave,运行时该按钮上显示有“保存(S)”字样的信息。为使热键ALT+S 与该命令按钮相关联,应该对按钮CmdSave 的Caption 属性设置什么样的属性值? (3) 设某窗口内有一个图像框Image1,以及两个命令按钮“放大”和“缩小”。单击“放大”按钮就会使该图像框的长和宽都放大10%;单击“缩小”按钮就会使该图像框的长和宽都缩小10%(该图像框的左上角不动)。请分别写出这两个命令按钮的单击事件过程中的程序代码。 (4) 为使某个单选按钮初始时默认被选中,在开发时应怎样做? (5) 若有语句Tmpval=MsgBox("非法操作!", vbOKCancel + vbCritical, "提示"),请简要描述程序运行时弹出的消息框的主要特征。
进入题库练习
问答题试题一(共15分)阅读以下说明和算法,完善算法并回答问题,将解答写在答题纸的对应栏内。[说明]假设以二维数组G[1..m,1..n]表示一幅图像各像素的颜色,则G[i,j]表示区域中点(i,j)处的颜色,颜色值为0到k的整数。下面的算法将指定点(i0,j0)所在的同色邻接区域的颜色置换为给定的颜色值。约定所有与点(i0,j0)同色的上、下、左、右可连通的点组成同色邻接区域。例如,一幅8×9像素的图像如图1-1所示。设用户指定点(3,5),其颜色值为0,此时其上方(2,5)、下方(4,5)、右方(3,6)邻接点的颜色值都为0,因此这些点属于点(3,5)所在的同色邻接区域,再从上、下、左、右四个方向进行扩展,可得出该同色邻接区域的其他点(见图1-1中的阴影部分)。将上述同色区域的颜色替换为颜色值7所得的新图像如图1-2所示。[算法]输入:矩阵G,点的坐标(i0,j0),新颜色值newcolor。输出:点(i0,j0)所在同色邻接区域的颜色置换为newcolor之后的矩阵G。算法步骤(为规范算法,规定该算法只在第七步后结束):第一步:若点(i0,j0)的颜色值与新颜色值newcolor相同,则(1);第二步:点(i0,j0)的颜色值→oldcolor;创建栈S,并将点坐标(i0,j0)入栈;第三步:若(2),则转第七步;第四步:栈顶元素出栈→(x,y),并(3);第五步:1)若点(x,y-1)在图像中且G[x,y-1]等于oldcolor,则(x,y-1)入栈S;2)若点(x,y+1)在图像中且G[x,y+1]等于oldcolor,则(x,y+1)入栈S;3)若点(x-1,y)在图像中且G[x-1,y]等于oldcolor,则(x-1,y)入栈S;4)若点(x+1,y)在图像中且G[x+1,y]等于oldcolor,则(x+1,y)入栈S;第六步:转(4);第七步:算法结束。[问题]是否可以将算法中的栈换成队列?回答:(5)。
进入题库练习
问答题【说明】 本程序输出10000之内的所有完全数。完全数是指等于其所有因子和(包括1,但不包括这个数本身)的数。例如:6=1×2×3,6=1+2+3,则6是一个完全数。 【程序】 public class PerfectNum Public static void main(String args[]) int count=1; for(int i=1; i<10000; i++) int y=0; for(int j=1; j<i; j++) if( (1) ) y= (2) if( (3) ) System.out.print( (4) +String.valueOf('/t')); (5) If(count%3==0) System.out.printin();
进入题库练习
问答题[Java代码]
进入题库练习
问答题
进入题库练习
问答题阅读以下说明和C函数,将解答填入答题纸的对应栏内。 [说明] 函数del_substr(S,T)的功能是从头至尾扫描字符串S,删除其中与字符串T相同的所有子串,其处理过程为:首先从串S的第一个字符开始查找子串T,若找到,则将后面的字符向前移动将子串T覆盖掉,然后继续查找子串T,否则从串S的第二个字符开始查找,依此类推,重复该过程,直到串S的结尾为止。该函数中字符串的存储类型SString定义如下: typedef struct { char* ch; /*串空间的首地址*/ int length; /*串长*/ }SString; [C函数] void del_substr(SString* S, SString T) { iht i, j; if(S->length<1 ||T.length<1 ||S->length<T.length) return; i=0; /* i为串S中字符的下标*/ for (;;) { j =0; /*j为串T中字符的下标*/ while(i<S->length j++; } else { i={{U}} (1) {{/U}};j=0; /*i值回退,为继续查找T做准备*/ } } if({{U}} (2) {{/U}}){ /*在s中找到与T相同的子串*/ i={{U}} (3) {{/U}}; /*计算s中子串T的起始下标*/ for(k=i+T.length;k<S->length;k++)/* 通过覆盖子串T进行删除*/ S->ch[{{U}} (4) {{/U}}] =S->ch[k]; S->length={{U}} (5) {{/U}}; /* 更新S的长度*/ } else break; /* 串S中不存在于串T*/ } }
进入题库练习
问答题【函数2.1说明】 函数palindrome(char s[])的功能是,判断字符串s是否为回文字符串,若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,称该字符串是回文字符串,例如:“LEVEL”是回文字符串,而“LEVAL”不是。 【函数2.1】 int palindrome( char s[ ] ) char * pi, * pj; pi=s; pj=s+strlen(s)-1; while( pi<pjpj -- if( (2) )return -1; else return 0; 【函数2.2说明】 函数f(char * str,char del)的功能是:将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。 例如若str的值为“33123333435”,del的值为“3”,调用此函数后,将输出3个子字符串,分别为“12”、“4”和“5”。 【函数2.2】 void f( char * str, char del) int i ,j ,len; len = strlen (str) i=0; while(i < len) while( (3) )i++; /*忽略连续的标志字符*/ /*寻找从str[i]开始直到标志字符出现的一个子字符串*/ j=i+1; while(str[j] != del /*给找到的字符序列置字符串结束标志*/ printf("%s/t", (5) ;
进入题库练习
问答题[函数2.1说明] 下面程序的功能是计算x和y的最小公倍数。[函数2.1]main() int m,n,d,r; seanf("%d %d", if(m<n) r=m;m=n;n=r; (1) ; while (d%n! =0) (2) ; printf("%d/n",d);[函数2.2说明] 下述程序接收键盘输入,直到句点“.”时结束。输入的字符被原样输出,但连续的空格输入将转换成一个空格。[函数2.2]#include <stdio.h>main() char c,preChar='/0'; c = getchar(); while(c! = '.') if( (3) ) putchar(c); else if(preChar! =' ') putchar(c); (4) ; c= (5) ;
进入题库练习
问答题阅读以下应用程序说明和C程序,将C程序段中(1)~(6)空缺处的语句填写完整。 【说明】 某大学征询学生意见,从各学院预选的n(n≤60)位优秀大学生中,评选出“十佳大学生”。以下【C程序】对各位学生选票进行相关的统计、排序等处理。 (1)各学院预选的优秀大学生按1,2,…顺序连续编号,每个编号用两个字符表示,即01,02,…。 (2)所回收的选票按以下格式存于文件source中,每行字符串对应一张选票。其中,姓名占10个字符,学院名称占30个字符,大学生编号占20个字符。 (3)对应名次的大学生编号可以有空缺,但必须用00表示。 (4)若编号超出规定范围,或编号重复出现,按照废票处理。 (5)按选票中所列“十佳大学生”顺序给出各名大学生的得分。评分标准如下: 一 二 三 四 五 六 七 八 九 十 15 12 9 7 6 5 4 3 2 1 (6)按各位大学生得分数由高到低顺序排队,并按以下格式列出“十佳大学生”排行表。 名次 大学生编号 合计得分 合计得票数 若得分相同,则得票数多的在前;若得分和得票数都相同,则编号小的在前。 以下【C程序】中所应用到的函数fopen、fclose和fgets都是I/O程序库中的函数。 【C程序】 #include <stdio. h> #define n 60 long int tn[n], td[n], score[n+1][10], order[n]; char s[80]; int mark[]=(15,12,9,7,6,5,4,3,2,1); FILE *fp, *fopen(); Main() { int c, g, k, I, j, b[10]; long int e, d, t, tt, dd; char * p; for(i=0; i<=n; i++) for(j=0; j<10; j++) score[i][j]=0; fP=fopen("source", "r"); /*以读方式打开文件source*/ p=fgets(s, 80, fp); /*读fp所指文件的下一行字符串于s*/ while(*p){ g=l; k=0; p+=40; while(k<10){ c=((*p++)-'0')*10+((*p++)-'0'); b[k++]=c) if(c<=n){ if(c) { i=0; While({{U}} (1) {{/U}}); If({{U}} (2) {{/U}}){g=0; break;} } else{g=0; break;} } If(g) For(i=0; i<k; i++) If(b[i]) {{U}}(3) {{/U}}; p=fgets(s, 80, fP); } Fclose(fp); /*关闭fp所指文件*/ For(i=1; i<n; i++){ For(t=0, d=0, j=0; j<10; j++){ t +=(e=score[i][j]); d +=e * mark[j]; } tn[i-1]=t; td[i-1]=d; order[i-1]=i; } For(i=0; i<n-1; i++){ k=i; for(j=i+1; j<n; j++) if((t=td[order[j]-1])>(d=td[order[k]-1])) k=j; else if(t==d){ tt={{U}} (4) {{/U}}; dd={{U}} (5) {{/U}}; for(c=0; c<10; c++) if((e={{U}} (6) {{/U}})>0){ k=j; break;} else if(e<0)break; } If(k!=i){ t=order[k]; order[k]=order[i]; order[i]=t; } } For(i=0; i<10; i++) Printf("%2d%2d%d%d/n", i+1, order[i], td[order[i]-1], tn[order[i]-1])); } }
进入题库练习
问答题[说明] 本程序实现了雇员信息管理功能,其中封装了雇员信息及其设置、修改、删除操作。已知当输入为“Smith 31 2960.0”时,程序的输出是: 姓名:Smith 年龄:31 工资:2960 姓名:Smith 年龄:31 工资:3500 姓名:Mary 年龄:23 工资:2500 [C++程序] #include <iostream.h> #include <string.h> class employee{ char *name; //雇员姓名 short age; //年龄 float salary;//工资 public: employee(); void set_name(char *); void set_age(short a) {age=a;} void set_salary(float s) {salary=s;} {{U}} (1) {{/U}}; ~ employee(){delete[] name;} }; employee::employee() { name=""; age=0; salary=0.0; void employee::set_name(char *n) { name=new char[strlen(n)+1]; {{U}}(2) {{/U}} (name,n); } void employee::print() { cout<<"姓名":"<<name<<" 年龄:"<<agc<<" 工资:" <<salary<<endl; } void main() { char *na; short ag=0; float sa=0; {{U}} (3) {{/U}}; na=new char[10]; cin>>na>>ag>>sa; emp.set_name(na); emp.set_age(ag); emp.set_salary(sa); emp.print(); {{U}} (4) {{/U}} (3500.0); emp.print(); {{U}} (5) {{/U}}; emp.set_name("Mary"); emp.set_age(23); emp.set_salary(2500.0); emp.print(); }
进入题库练习
问答题【说明】 单击窗体上的“测试”(cmdTest)按钮,出现一个输入框,要求输入一串字符,将该字符串中的非字母字符删除后,显示在窗体中的一个文本框(txtShow)中。 【程序代码】 Private Sub cmdTest_Click( ) Dim strT1 ,strT2 As String Dim strCh As {{U}}(1) {{/U}} Dim intL As Integer Dim intl As Integer strT1 = {{U}}(2) {{/U}}("请输入一串字符","字符串输入") intL = {{U}}(3) {{/U}} strT2 = " " For intl = I To intL strCh = Mid ( strT1, intl, 1 ) If(strCh>"A"And{{U}} (4) {{/U}}) Or (strCh >"a" And suCh <"z" )Then strT2 = strT2 + strCh End If Next intl txtShow. Text= {{U}}(5) {{/U}} End sub
进入题库练习
问答题【说明】 本程序的功能是生成螺旋方阵,用户可以输入该方阵的行列数,然后就生成对应的螺旋方阵。例如:当n=5时,对应的螺旋方阵如下: 1 16 15 14 13 2 17 24 23 12 3 18 25 22 11 4 19 20 21 10 5 6 7 8 9 【C++代码】 #include"stdio.h" #include"iostream,h" int array[11][11]; int temp; int ROW; void godown(int temp<=ROW;temp++) if(array[temp][a]==0) array[temp][a]={{U}} (1) {{/U}}; a++; } void goright(int temp<=ROW;temp++) if(array[b][temp]==0) array[b][temp]=m++; b--; } void goup(int temp>0;temp-) if(array[temp][c]==0) array[temp][c]=m++; c--; } void goleft(int temp>0;temp--) if(array[d][temp]==0) array[d][temp]=m++; {{U}}(2) {{/U}}; } void main() { int a,b,c,d,max,m; cin>>ROW; cout>>end1; for(a=1;a<=ROW;a++) for(b=1;b<=ROW;b++) {{U}} (3) {{/U}}; m=1; a=d=1; b=c=ROW; max={{U}} (4) {{/U}}; whiie(m<=max) { godown(m,a); {{U}} (5) {{/U}}(m,b); goup(m,c); goleft(m,d): } for(a=1;a<=ROW;a++) { for(b=1;b<=ROW;b++) printf("%3d ",array[a][b]); cout<<end1; } }
进入题库练习
问答题[说明] 循环队列的类型定义如下(其中队列元素的数据类型为datatype): typedef struct{ datatype data[MAXSIZE]; /*数据的存储区*/ int front,rear; /*队首、队尾指针*/ int num; /*队列中元素的个数*/ }c _ SeQueue; /*循环队*/ 下面函数及其功能说明如下: (1) c_SeQueue* Init_SeQueue():新建队列; (2) int ln_SeQueue( c_SeQueue *q, datatype x):将元素x插入队列q,若成功返回1否则返回0; (3) int Out_SeQueue (c_SeQueue *q, datatype *x):取出队列q队首位置的元素,若成功返回1否则返回0。 [函数] c_SeQueue* Init_SeQueue() { q=malloc(sizeof(c_SeQueue)); q->front=q->rear=MAXSIZE-1; {{U}} (1) {{/U}}; return q; } int In_SeQueue( c_SeQueue *q, datatype x) { if(q->num= =MAXSIZE) return 0; /*队满不能入队*/ else { q->rear={{U}} (2) {{/U}}; q->data[q->rear]=x; {{U}}(3) {{/U}}; return 1; /*入队完成*/ } } int Out_SeQueue( c_SeQueue *q, datatype *x) { if (q->num= =0) return 0; /*队空不能出队*/ else{ *x= {{U}}(4) {{/U}}; /*读出队首元素*/ q->front= {{U}}(5) {{/U}}; q->num- -; return 1; /*出队完成*/ } }
进入题库练习