版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
试卷科目:C语言开发基础C语言开发基础(习题卷61)PAGE"pagenumber"pagenumber/SECTIONPAGES"numberofpages"numberofpagesC语言开发基础第1部分:单项选择题,共70题,每题只有一个正确答案,多选或少选均不得分。[单选题]1.下面关于共用体类型的叙述正确的是_________。A)可以给共用体类型变量直接赋值B)一个共用体类型变量中可以同时存入其所有成员C)一个共用体类型变量中不能同时存入其所有成员D)共用体类型定义中不能同时出现结构体类型的成员答案:C解析:[单选题]2.下面正确的是()A)0.00f8.9e'&'B)A'3.9E-2.51e10928C)3'0110xff000aD)0xabcd2e3-34027答案:D解析:[单选题]3.若有定义:char*x="abcdefghi";以下选项中正确运用了strcpy函数的是____。A)chary[10];strcpy(y,x[4]);B)chary[10];strcpy(++y,&x[1]);C)chary[10],*s;strcpy(s=y+5,x);D)chary[10],*s;strcpy(s=y+1,x+1);答案:D解析:本题考查的是用于字符串处理的函数strcpy。[单选题]4.若有定义staticinta[][4]={1,2,3,4,5,6,7,8,9};则此二维数组的第一维长度为____。A)2B)3C)4D)不确定答案:B解析:[单选题]5.C语言的编译系统对宏定义的处理是()A)在程序连接时进行的B)在程序运行时进行的C)在对源程序中的其它语句进行编译前进行的D)和C程序中的其它语句同时进行编译的答案:C解析:所谓?编译预处理?就是在C编译程序对C源程序进行编译前,由编译预处理程序对这些编译预处理命令进行处理的过程。宏定义属于预处理命令,在对源程序中的其它语句进行编译前进行的。本题答案为C选项。[单选题]6.54、下列关于C语言的说法错误的是()。A)C程序的工作过程是编辑、编译、连接、运行B)C语言不区分大小写C)C程序的三种基本结构是顺序、选择、循环D)C程序从main函数开始执行答案:B解析:[单选题]7.有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当是。A)132<CR>B)1,3,2<CR>C)a=1□b=3□c=2<CR>D)a=1,b=3,c=2<CR>答案:D解析:[单选题]8.若已定义一个有返回值的函数,则下面关于调用该函数的叙述中错误的是A)函数调用可以作为一个函数形参B)函数调用可以出现在表达式中C)函数调用可以作为一个函数实参D)函数调用可以作为独立的语句存在答案:A解析:[单选题]9.若有说明staticinta[3][4]={0};则下面正确的叙述是___。A)只有a[0][0]值为0B)此说明语句不正确C)所有元素值不一定为零D)所有元素值均为零答案:D解析:[单选题]10.下列程序段中,能将变量x、y中值较大的数保存到变量a、值较小的数保存到变量b的程序段是()A)if(x>y)a=x;b=y;elsea=y;b=x;B)if(x>y){a=x;b=y;}elsea=y;b=x;C)if(x>y){a=x;b=y;}else{a=y;b=x;}D)if(x>y)(a=xb=y;else(x<y){a=y:b=x:}答案:C解析:[单选题]11.76、在C语言中,函数的数据类型是指()。A)函数返回值的数据类型B)函数形参的数据类型C)调用该函数时的实参的数据类型D)任意指定的数据类型答案:A解析:[单选题]12.若函数调用时参数为基本数据类型的变量(俗称简单变量),以下叙述正确的是___()___.A)实参与其对应的形参共占存储单元B)只有当实参与对应的形参同名时才共占存储单元C)实参与其对应的形参分别占用不同的存储单元D)实参将数据传递给形参后,立即释放原先占用的存储单元答案:C解析:[单选题]13.下选项中不是C语句的是()。A){inti;i++;printf(?%d\n?,i);}B);C)a=5,c=10D){;}答案:C解析:[单选题]14.以下正确的函数形式是。A)doublefun(intx,inty){z=x+y;returnz;}B)doublefun(intx,y){intz;returnz;}C)fun(x,y){intx,y;doublez;z=x+y;returnz;}D)doublefun(intx,inty){doublez;z=x+y;returnz;}答案:D解析:[单选题]15.2、对于以下递归函数f,调用f(4),其返回值为()A)10B)4C)0D)以上都不是答案:A解析:[单选题]16.若有以下调用语句,则不正确的fun函数的首部是()main(){…inta[50],n;…fun(n,&a[9]);…}A)voidfun(intm,intx[])B)voidfun(ints,inth[41])C)voidfun(intp,int*s)D)voidfun(intn,intA)答案:D解析:[单选题]17.为了提高程序的运行速度,在函数中对于整型或指针可以使用()型的变量。A)staticB)registerC)autoD)extern答案:B解析:题号:55846[单选题]18.以下能正确定义二维数组的是______。A)inta[][3]={1,2,3,4,5,6};B)inta[][3]={2*3};C)inta[][3]={};D)inta[2][3]={{1},{2},{3,4}};答案:A解析:[单选题]19.下面说法正确的是A)C程序总是从第1个函数开始执行B)在C程序中,要调用的函数必须在主函数前定义C)C程序总是从主函数main()开始执行D)C程序中的主函数必须放在程序的最前面答案:C解析:[单选题]20.main(){inta[10]={2,4,6,8,10,12,14,16,18,20},*p;p=a;printf(?%x\n?,p);printf(?%x\n?,p+9);}若假设第一个printf语句输出的是ffca,则第二个printf语句输出的是()(假设整型占2个字节。)A)ffddB)ffdcC)ffdeD)ffcd答案:B解析:[单选题]21.对于函数,正确的说法是()。A)必须有返回信息B)必须包含函数体C)必须有返回语句D)必须有形式参数答案:B解析:[单选题]22.以下不是死循环的程序段是A)1.inti=100;2.while(1)3.{4.i=i%100+1;5.if(i>100)break;6.}B)1.ints=36;2.while(s)3.{4.--s;5.}C)1.for(;;);D)1.intk=0;2.do{3.++k;4.}while(k>=0);答案:B解析:[单选题]23.C语言的常量包括数值型常量和符号常量,以下叙述正确的是A)数值型常量1.0和1所占内存的大小不同B)不能用sizeof求数值型常量所占内存的大小C)不能用sizeof求符号常量所占内存的大小D)可以用&A取得符号常量A所占内存的首地址答案:A解析:[单选题]24.在C语言中,若使用"r+"方式打开文件,以下选项中错误的是______。A)文件必须存在B)可以进行读操作C)可以进行写操作D)只能进行读操作答案:D解析:[单选题]25.下列程序段()。for(t=1;t<=100;t++){scanf(?%d?,&x);if(x<0)continue;printf(?%3d?,t);}A)当x<0时整个循环结束B)x≥0时什么也不做C)printf函数永远也不会被执行D)最多允许输出100个非负整数答案:D解析:[单选题]26.表达式?10>=9?的值是()A)trueB)非零值C)0D)1答案:D解析:[单选题]27.()。将C源程序进行可得到目标文件。A)编辑B)编译C)连接D)拼接答案:B解析:[单选题]28.下列关于栈的描述中,正确的是()。A)在栈中只能插入元素B)在栈中只能删除元素C)只能在一端插入或删除元素D)只能在一端插入元素,而在另一端删除元素答案:C解析:栈是一种操作受限的线性表:栈只能在栈顶插入和删除元素。答案选择C选项。[单选题]29.()。下关于运算符优先顺序的描述中正确的是。A)"!">"&&">"/">">="B)"!">"/">">=">"&&"C)"!">"/">"&&">">="D)"/">"!">"&&">">="答案:B解析:[单选题]30.变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是()。A)a^bB)a|bC)a&bD)a<<4答案:A解析:[单选题]31.下面不属于软件设计阶段任务的是()。A)软件的功能确定B)软件的总体结构设计C)软件的数据设计D)软件的过程设计答案:A解析:软件设计阶段的任务包括:①结构设计;②数据设计;③接口设计;④过程设计。软件的功能确定是在需求分析阶段完成的。答案选择A选项。[单选题]32.以下定义语句中正确的是A)inta=b=0B)charA=65+1,b=?b?C)floata=1,*b=&a,*c=&bD)doublea=0.0;b=1.1答案:B解析:[单选题]33.已知有声明?inta=3,b=4;?,下列表达式中合法的是A)a+b=7B)a=|b|C)a=b=0D)(a++)++答案:C解析:[单选题]34.在C#中,执行完代码int[]x=newint[10];后,下列说明正确的是()A)x[9]为0B)x[9]未定义C)x[10]为0D)x[0]为空答案:A解析:[单选题]35.()为正确的用户标识符。A)1_rowB)min-5C)unionD)m_A_1答案:D解析:P14变量名的命名规则。只能用数字,英文字母,下划线。[单选题]36.与?for(i=0;i<10;i++)putchar('a'+i);?功能不同的语句是()。A)for(i=0;i<10;)putchar('a'+(++i));B)for(i=0;i<10;)putchar('a'+(i++));C)for(i=0;i<10;putchar('a'+i),i++);D)for(i=0;i<=9;i++)putchar('a'+i);答案:A解析:[单选题]37.设有如下程序段:Intx=2002,y=2003;printf("%d\n",(x,y));则以下叙述中正确的是(D)A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出B)运行时产生出错信息C)输出值为2002D)输出值为2003答案:D解析:[单选题]38.若将int、long、float等类型的数据进行混合运算,其结果的数据类型是:()。A)intB)longC)floatD)double答案:D解析:[单选题]39.设x,y和z是int型变量,且x=3,y=4,z=5则下面表达式中值为0的是()。A)'y'&&'y'B)x<=yC)x||y+z&&y-zD)!(x<y)&&(!z||1)答案:D解析:[单选题]40.若运行以下程序时,从键盘输入3.62.4<CR>,则下面程序的运行结果是。#include<stdio.h>#include<math.h>main(){floatx,y,z;scanf("%f%f",&x,&y);z=x/y;while(1){if(fabs(z)>1.0){x=y;y=z;z=x/y;}elsebreak;}printf("%f\n",y);}A)1.500000B)1.600000C)2.000000D)2.400000答案:B解析:[单选题]41.执行下列程序段后,变量a,b,c的值分别是。intx=10,y=9;inta,b,c;a=(--x==y++)?--x:++y;b=x++;c=y;A)a=9,b=9,c=9B)a=8,b=8,c=10C)a=9,b=10,c=9D)a=8,b=8,c=9答案:B解析:[单选题]42.下列语句合法的是A)4+c=b=0;B)a=++c;C)a=2=b=6;D)a=4++;答案:B解析:[单选题]43.若变量已正确定义,有以下程序段inta=3,b=5,c=7;if(a>b)a=b;c=a;if(c!=a)c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是()。A)程序段有语法错B)3,5,3C)3,5,5D)3,5,7答案:B解析:[单选题]44.以下函数头定义正确的是()A)doublefun(intx,inty)B)doublefun(intx;inty)C)doublefun(intx,inty);D)doublefun(intx,y)答案:A解析:[单选题]45.运行下面程序时,若从键盘输入数据为"6,5,7<CR>",则输出结果是___()__.#include<stdio.h>voidmain(){inta,b,c;scanf("%d,%d,%d",&a,&b,&c);if(a>b)if(a>c)printf("%d\n",a);elseprintf("%d\n",c);elseif(b>c)printf("%d\n",b);elseprintf("%d\n",c);}A)5B)6C)7D)不定值答案:C解析:[单选题]46.一个C程序是由()。A)一个主程序和若干子程序组成B)一个或多个函数组成C)若干过程组成D)若干子程序组成答案:B解析:[单选题]47.若有以下定义intx[10],*pt=x;则对x数组元素的正确引用是()。A)*&x[10]B)*(x+3)C)*(pt+10)D)pt+3答案:B解析:[单选题]48.若有定义和语句inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;,则值为3的表达式是()。A)p+=2,*(p++);B)p+=2,*++p;C)p+=3,*p++;D)p+=2,++*p;答案:A解析:[单选题]49.已有预处理命令?#include<math.h>"和声明?intx=4,y;?,下面语句中语法正确的是A)if(x%2=1)y=x;B)if(sqrt(x)%2)y=x;C)if(x==1)y=x;D)if(x==1)y=&.x;答案:C解析:[单选题]50.若有定义语句charc='\101';则变量C在内存中占()。A)2个字节B)1个字节C)3个字节D)4个字节答案:B解析:字符型常量在内存中占一个字节。'\101'表示8进制数101,即10进制中的65,而'65'=A,所以,c表示的字符是A,一个字符在内存中占一个字节,答案选择B选项。[单选题]51.若ch为char型变量,k为int型变量(已知字符a的ASCII十进制代码为97),则以下程序段的执行结果是().ch='a';k=12;printf("%x,%o,",ch,ch,k);printf("k=%%d\n",k);A)因变量类型与格式描述符的类型不匹配,输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)61,141,k=%dD)61,141,k=%12答案:C解析:[单选题]52.在C语言中,以()作为字符串结束标志。A)?\n?B)??C)?0?D)?\0?答案:D解析:[单选题]53.若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是()A)sqrt(fabs(pow(n,x)+exp(x)))B)sqrt(fabs(pow(n,x)+pow(x,e)))C)sqrt(abs(n^x+e^x))D)sqrt(fabs(pow(x,n)+exp(x))答案:A解析:B选项中函数pow(x,e)错误应该直接使用exp(x)函数。C选项中函数abs(n^x+e^x)错误,应该使用fabs返回浮点数的绝对值。D选项中pow(x,n)参数顺序错误。[单选题]54.深度为7的二叉树共有127个结点,则下列说法中错误的是()。A)该二叉树有一个度为1的结点B)该二叉树是满二叉树C)该二叉树是完全二叉树D)该二叉树有64个叶子结点答案:A解析:深度为7的二叉树,前6层共有结点个数为26-1=63,则第7层有127-63=64个结点,即第7层结点数达到最大值,故此二叉树为满二叉树,也是完全二叉树,该二叉树没有度为1的结点,有64个叶子结点。答案选择A选项。[单选题]55.有以下程序Voidsort(inta[],intn){Inti,j,t;For(i=0;i<n;i++)For(j=i+1;j<n;j++)If(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}Main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;Sort(aa+2,5);For(i=0;i<10;i++)printf("%d,",aa[i]);Printf("\n");}程序运行后的输出结果是______。A)1,2,3,4,5,6,7,8,9,10,B)1,2,7,6,3,4,5,8,9,10,C)1,2,7,6,5,4,3,8,9,10,D)1,2,9,8,7,6,5,4,3,10,答案:C解析:[单选题]56.()。已有定义:intx=3,y=4,z=5;则表达式!(x+y)+z-1&&y+z/2的值是。A)0B)1C)2D)-1答案:B解析:[单选题]57.若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为()。A)0B)1C)-1D)一个非0值答案:A解析:[单选题]58.关于switch语句的说法正确的是()。A)switch语句中default分支是可选的。B)switch语句后边的圆括号可以省略。C)switch语句的每个case分支中只能设置一个语句。D)switch语句中各个case分支顺序没有规定,但是default分支必须处在有case分支之后,否则会影响程序执行效果。答案:A解析:[单选题]59.已有定义inta=-2;和输出语句:printf("%8lx",a);以下正确的叙述是。A)整型变量的输出格式符只有%d一种B)%x是格式符的一种,它可以适用于任何一种类型的数据C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度答案:D解析:[单选题]60.以下有关switch语句的正确说法是()。A)break语句是语句中必须的一部分B)在switch语句中可以根据需要使用或不使用break语句C)break语句在switch语句中不可以使用D)在switch语句中的每一个case都要用break语句答案:B解析:[单选题]61.以下对二维数组a进行不正确初始化的是()A)inta[][3]={{3,2,1},{1,2,3}};B)inta[2][3]={0};C)inta[][]={{3,2,1},{1,2,3}};D)inta[2][3]={{3,2,1},{1,2,3}};答案:C解析:[单选题]62.有下列程序#include"stdio.h"#include<string.h>Voidmain(){Chara[5][10]={"efg","abcd","mnopq","hijkl","rstuvwxyz"};Char*p[5];Inti,len;For(i=4;i>=0;i--){P[i]=a[i];Len=strlen(p[i]);Printf("%s",p[i]+len-2);Printf("%c",*(p[i]+len-1));}}程序的运行结果是______。A)yzyklkpqpcdcfgfB)fggcddpqqkllyzzC)yzzkllpqqcddfggD)fgfcdcpqpklkyzy答案:C解析:[单选题]63.在inta[][3]={{1,4},{3,2},{4,5,6},{0}};中,a[2][1]的值是()A)5B)0C)6D)2答案:A解析:[单选题]64.下列数据中属于字符串常量的是________。A)"a"B){ABC}C)'abc\0'D)'a'答案:A解析:[单选题]65.C语言的跳转语句中,对于break和continue说法正确的是()A)break语句只应用与循环体中B)continue语句只应用于循环体中C)break是无条件跳转语句,continue不是D)break和continue的跳转范围不够明确,容易产生问题答案:B解析:[单选题]66.若k是int类型变量,且有以下for语句:for(k=-1;k<0;k++)printf("****\n");下面关于语句执行情况的叙述中正确的是()。A)循环体执行一次B)循环体执行两次C)循环体一次也不执行D)构成无限循环答案:A解析:for语句中,由变量k控制循环体的执行,用来输出星号。第一次循环,k=-1,满足条件k<0,执行循环体,进入下一次循环。此时k=0,不满足循环条件k<0,退出循环。因此,循环体仅执行了一次。答案选择A选项。[单选题]67.在循环中使用break语句的功能是()A)使程序的执行跳出break所在的那一重循环B)是程序执行结束C)跳出包含此break语句的所以循环D)终止本次循环,继续下次循环答案:A解析:[单选题]68.已知字符'a'的ASCII码为97,执行下列语句的输出是printf("%c%d",'b','b'+1);A)b99B)98cC)9899D)bc答案:A解析:[单选题]69.下列字符串赋值语句中,不能正确把字符串?HelloWorld?赋给数组的语句是()A)chara1[]={?H?,?e?,?l?,?l?,?o?,??,?W?,?o?,?r?,?l?,?d?,?\0?};B)chara2[15];strcpy(a2,?HelloWorld?);C)chara3[15];a3=?HelloWorld?;D)chara4[15]={?HelloWorld?};答案:C解析:[单选题]70.对inta[5][5]中a[i][j]元素不正确的引用是____。A)*(*(a+i)+j)B)*(a[i]+j)C)a[i][j]D)*(a+i*5+j)答案:D解析:第2部分:多项选择题,共4题,每题至少两个正确答案,多选或少选均不得分。[多选题]71.合法的八进制数是A)0B)028C)077D)01.0答案:BD解析:[多选题]72.C语言中用于程序设计的3种基本结构是()。A)顺序结构B)分支结构C)循环结构D)包含结构答案:ABC解析:[多选题]73.以下正确的描述是。A)continue语句的作用是结束整个循环的执行B)只能在循环体内和switch语句体内使用break语句C)在循环体内使用break语句或continue语句的作用不相同D)从多层循环嵌套中退出时,只能使用goto语句答案:BC解析:[多选题]74.110、若y为int型变量,则执行以下语句后,y=8;y+=y-=y*y;y的值不是()。A)64B)-56C)-112D)-48答案:ABD解析:第3部分:填空题,共2题,请在空白处填写正确答案。[填空题]75.有1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?请分析程序填空。#include<stdio.h>main(){intday,x1,x2;day=0;x1=1020;while(【1】){x2=【2】;x1=x2;day++;}printf("day=%d\n",day);}答案:【1】x1【2】x1/2-2解析:[填空题]76.下面函数pi的功能是:根据以下公式,返回满足精度(0.0005)要求的π值,请填空。π/2=1+1/3+1/3*2/5+1/3*2/5*3/7+1/3*2/5*3/7*4/9+⋯#include<conio.h>#include<math.h>#include<stdio.h>doublepi(doubleeps){doubles,t;intn;for(【1】;t>eps;n++){s+=t;t=n*t/(2*n+1);}return(【2】);}main(){doublex;printf("\nPleaseenteraprecision:");scanf("%lf",&x);printf("\neps=%lf,π=%lf",x,pi(x));}答案:【1】s=0,t=1,n=1【2】2*s解析:第4部分:判断题,共11题,请判断题目是否正确。[判断题]77.赋值运算符的结合方向为自右向左。A)正确B)错误答案:对解析://C2基本数据类型及表达式/C23运算符结合性T[判断题]78.当一个变量只能取给定的几个值时,将这些值一一列举出来,就形成了枚举类型。A)正确B)错误答案:对解析:[判断题]79.C语言程序在书写上只能是一条语句写一行。A)正确B)错误答案:错解析:[判断题]80.标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。A)正确B)错误答案:对解析:[判断题]81.凡在函数中未指定存储类别的局部变量,其默认的存储类别为staticA)正确B)错误答案:错解析:[判断题]82.若变量c为char类型,则表达式'a'A)正确B)错误答案:错解析:[判断题]83.如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准.A)正确B)错误答案:对解析:[判断题]84.宏定义的作用域为从源程序开始起到源程序结束止。A)正确B)错误答案:错解析://C6函数与编译预处理/C63宏定义T第5部分:问答题,共13题,请在空白处填写正确答案。[问答题]85.编写一个程序,将两个变量的值交换,例如变量a中的值原为3,b中的值原为8,程序运行后a中的值为8,b中的值为3。答案:#include<stdio.h>voidfun(int*x,int*y){intt;t=*x;*x=*y;*y=t}voidmain(){inta=3,b=8;printf("%d%d\n",a,b);fun(&a,b);printf("%d%d\n",a,b);}解析:[问答题]86.程序设计题所属年份:2010.9;2011.3;规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串中的前导*号全部移到字符串的尾部。例如,字符串中的内容为:"*******A*BC*DEF*G****",移动后,字符串中的内容应当是:"A*BC*DEF*G***********"。在编写函数时,不得使用C语言提供的字符串函数。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include<stdio.h>voidfun(char*a){}main(){chars[81];intn=0;voidNONO();printf("Enterastring:\n");gets(s);fun(s);printf("Thestringaftermoveing:\n");puts(s);NONO();}voidNONO(){FILE*in,*out;inti;chars[81];in=fopen("in.dat","r");out=fopen("out.dat","w");for(i=0;i<10;i++){fscanf(in,"%s",s);fun(s);fprintf(out,"%s\n",s);}fclose(in);fclose(out);}答案:voidfun(char*a){inti=0,n=0;char*p;p=a;while(*p=='*')/*判断*p是否是*号,并统计*号的个数*/{n++;p++;}while(*p)/*将前导*号后的字符传递给a*/{a[i]=*p;i++;p++;}while(n!=0){a[i]='*';i++;n--;}a[i]='\0';}解析:【考点分析】本题考查:移动字符串中指定字符的位置,一般采用while循环语句,通过指针型变量来完成。【解题思路】函数fun的功能:将字符串中的前导*号全部移到字符串的尾部。本题解题思路:(1)定义一个指针并指向字符串的首地址;(2)利用循环语句找出字符串的前导*号的个数n;(3)利用循环语句把剩余的字符拷贝到另一个字符串中;(4)在字符串的末尾接上n个*号。[问答题]87.用插入排序法将n个字符进行排序(降序)。(提示:插入法排序的思路是:先对数组的头两个元素进行排序,然后根据前两个元素的情况插入第三个元素,再插入第四个元素,)。答案:#defineN80#include"stdio.h"#include"string.h"voidinsert(char*aa){inti,j,n;charch;n=strlen(aa);for(i=1;i<n;i++){ch=aa[i];j=i-1;while((j>=0)&&(ch<aa[j])){aa[j+1]=aa[j];j--;}aa[j+1]=ch;}}voidmain(){chara[N]="QWERTYUIOPASDFGHJKLMNBVCXZ";inti;printf("Theoriginalstring:%s\n",a);insert(a);printf("Thestringaftersorting:%s\n\n",a);}解析:[问答题]88.函数设计:已有函数调用语句c=max();请编写程序实现如下要求:()编写max函数,计算两个实数a、b的最大值,返回其最大值;()在主函数中利用c=max();调用自定义函数,最后输出最大值。intmax(intx,inty){}答案:a,b|1|2|a,b|x>y||a,b|"%d\n",c解析:[问答题]89.求100之内的素数答案:#include<s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年智能停车场系统建设合同2篇
- 二零二四年度地铁站保安人员劳务派遣协议
- 二零二四年度货物运输及搬运服务合同
- 电动葫芦采购技术协议书
- 法人变更股权转让协议书
- 图文打印设备租赁合同(2篇)
- 合伙人合同范本(2篇)
- 二零二四年度知识产权代理与许可合同
- 二零二四年度委托合同:资产评估与管理委托服务
- 钢筋工劳务分包合同的施工过程管理
- (主谓一致)语法-课件
- 多囊卵巢综合征的中西医诊疗方法-课件
- 南州六月荔枝丹教案公开课一等奖市赛课获奖课件
- 新高一数学学法指导
- 四年级上册数学说课稿-4.1 四则混合运算|北师大版
- 安全消防应急预案模板
- 班主任工作量化考核细则
- (完整版)硬件单板测试模板
- 四年级语文下册第六单元【集体备课】(教材解读+教学设计)
- 高中物理 人教版 必修三《电磁感应与电磁波初步》第2课时《磁感应强度 磁通量》 课件
- 小学英语单词完整版
评论
0/150
提交评论