该【2025年海南大学C语言考试大题题库 】是由【小屁孩】上传分享,文档一共【13】页,该文档可以免费在线阅读,需要了解更多关于【2025年海南大学C语言考试大题题库 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:..其身正,不令而行;其身不正,虽令不从。——《论语》文档来源为:./*-------------------------------------------------------【程序填空】---------------------------------------------------------下面程序接受键盘上的输入,直到按↙键为止,这些字符被原样输出,但若有连续的一个以上的空格时只输出一个空格,请填(3)空使程序完整。-------------------------------------------------------*/#include<>voidmain(){charcx,front='\0';/***********SPACE***********/while((【?】)!='\n'){if(cx!='')putchar(cx);if(cx=='')/***********SPACE***********/if(【?】)/***********SPACE***********/putchar(【?】);front=cx;}}/*-------------------------------------------------------【程序填空】---------------------------------------------------------del函数的作用是删除有序数组a中的指定元素x,n为数组a的元素个数,函数返回删除后的数组a元素个数。主函数调用del删除5,输出删除后的数组,请填(3)空使程序完整。-------------------------------------------------------*/#include<>voidmain(){intdel(inta[10],intn,intx);intx[10]={1,2,3,4,5,6,7,8,9,10};inti,y;/***********SPACE***********/y=【?】;for(i=0;i<y;i++)printf("%d",x[i]);}intdel(inta[10],intn,intx){intp=0,i;while(x>=a[p]&&p<n)/***********SPACE***********/1文档来源为:.:..勿以恶小而为之,勿以善小而不为。——刘备文档来源为:.【?】;for(i=p-1;i<n;i++)/***********SPACE***********/【?】;return(n-1);}/*-------------------------------------------------------【程序填空】---------------------------------------------------------下面程序的功能是输入10个数,找出最大值和最小值所在的位置,并把两者对调,然后输出调整后的10个数。请填(4)空使程序完整。--------------------------------------------------------*/#include<>voidmain(){inta[10],max,min,i,j,k;k=0;j=0;for(i=0;i<10;i++)scanf("%d",&a[i]);/***********SPACE***********/【?】=a[0];for(i=0;i<10;i++){/***********SPACE***********/if(a[i]<min){min=a[i];【?】;}/***********SPACE***********/if(a[i]>max){max=a[i];【?】;}}a[j]=max;/***********SPACE***********/【?】;for(i=0;i<10;i++)printf("%d",a[i]);}/*-------------------------------------------------------【程序填空】---------------------------------------------------------以下程序的功能是计算函数f=x/y+y/z,请填(3)空使程序完整。-------------------------------------------------------*/#include<>main()/***********SPACE***********/{【?】;/*函数原型声明*/floatx,y,z,f;2文档来源为:.:..天行健,君子以自强不息。地势坤,君子以厚德载物。——《周易》文档来源为:("%f,%f,%f",&x,&y,&z);/***********SPACE***********/f=fun(【?】);/***********SPACE***********/f+=fun(【?】);printf("f=%f",f);}floatfun(floata,floatb){return(a/b);}/*-------------------------------------------------------【程序填空】---------------------------------------------------------以下程序是将字符串b的内容连接字符数组a的内容后面,形成新字符串a,请填(2)空使程序完整。-------------------------------------------------------*/#include<>voidmain(){chara[40]="Great",b[]="Wall";inti=0,j=0;while(a[i]!='\0')i++;/***********SPACE***********/while(【?】){a[i]=b[j];i++;j++;}/***********SPACE***********/【?】;printf("%s\n",a);}/*-------------------------------------------------------【程序填空】---------------------------------------------------------下面程序用"插入法"对数组a进行由小到大的排序,请填(3)空使程序完整。经典算法提示:简单插入排序算法的基本思想使将数组处理n-1次,第k次处理是将第k个元素插入到目前的位置。第k次的元素是这样插入的:在第k次处理时,前面的元素a[0],a[1],…,a[k-1]必定已排成了升序,将a[k]与a[k-1],a[k-2],…a[0]逐个比较(由后向前),若有a[j]<a[k],则a[k]插入到a[j]之后,否则a[k]维持原位不变。-------------------------------------------------------*/#include<>voidmain()3文档来源为:.:..丹青不知老将至,贫贱于我如浮云。——杜甫文档来源为:.{inta[10]={191,3,6,4,11,7,25,13,89,10};inti,j,k;for(i=1;i<10;i++){k=a[i];/***********SPACE***********/j=【?】;while(j>=0&&k<a[j]){/***********SPACE***********/【?】;j--;}/***********SPACE***********/【?】=k;}for(i=0;i<10;i++)printf("%d",a[i]);}/*-------------------------------------------------------【程序填空】---------------------------------------------------------已知程序的功能是输出数组a中的最大值,及该元素所在的行号和列号,请填(3)空使程序完整。-------------------------------------------------------*/#include<>voidmain(){inti,j,row=0,col=0,max;inta[4][3]={{4,5,6},{10,1,23},{2,-8,9},{9,7,18}};max=a[0][0];/***********SPACE***********/for(【?】)for(j=0;j<3;j++)/***********SPACE***********/if(【?】){/***********SPACE***********/【?】;row=i;col=j;}printf("%d,%d,%d\n",max,row,col);}/*-------------------------------------------------------【程序填空】---------------------------------------------------------下面程序接受键盘上的输入,直到按↙键为止,这些字符被原样4文档来源为:.:..百川东到海,何时复西归?少壮不努力,老大徒伤悲。——汉乐府文档来源为:,但若有连续的一个以上的空格时只输出一个空格,请填(3)空使程序完整。-------------------------------------------------------*/#include<>voidmain(){charcx,front='\0';/***********SPACE***********/while((【?】)!='\n'){if(cx!='')putchar(cx);if(cx=='')/***********SPACE***********/if(【?】)/***********SPACE***********/putchar(【?】);front=cx;}}/*-------------------------------------------------------【程序填空】---------------------------------------------------------以下程序是将字符串b的内容连接字符数组a的内容后面,形成新字符串a,请填(2)空使程序完整。-------------------------------------------------------*/#include<>voidmain(){chara[40]="Great",b[]="Wall";inti=0,j=0;while(a[i]!='\0')i++;/***********SPACE***********/while(【?】){a[i]=b[j];i++;j++;}/***********SPACE***********/【?】;printf("%s\n",a);}/*-------------------------------------------------------【程序填空】---------------------------------------------------------下面程序用"插入法"对数组a进行由小到大的排序,请填(3)空使程序完整。经典算法提示:5文档来源为:.:..饭疏食,饮水,曲肱而枕之,乐亦在其中矣。不义而富且贵,于我如浮云。——《论语》文档来源为:-1次,第k次处理是将第k个元素插入到目前的位置。第k次的元素是这样插入的:在第k次处理时,前面的元素a[0],a[1],…,a[k-1]必定已排成了升序,将a[k]与a[k-1],a[k-2],…a[0]逐个比较(由后向前),若有a[j]<a[k],则a[k]插入到a[j]之后,否则a[k]维持原位不变。-------------------------------------------------------*/#include<>voidmain(){inta[10]={191,3,6,4,11,7,25,13,89,10};inti,j,k;for(i=1;i<10;i++){k=a[i];/***********SPACE***********/j=【?】;while(j>=0&&k<a[j]){/***********SPACE***********/【?】;j--;}/***********SPACE***********/【?】=k;}for(i=0;i<10;i++)printf("%d",a[i]);}/*-------------------------------------------------------【程序填空】---------------------------------------------------------已知程序的功能是输出数组a中的最大值,及该元素所在的行号和列号,请填(3)空使程序完整。-------------------------------------------------------*/#include<>voidmain(){inti,j,row=0,col=0,max;inta[4][3]={{4,5,6},{10,1,23},{2,-8,9},{9,7,18}};max=a[0][0];/***********SPACE***********/for(【?】)for(j=0;j<3;j++)/***********SPACE***********/if(【?】){/***********SPACE***********/【?】;row=i;6文档来源为:.:..英雄者,胸怀大志,腹有良策,有包藏宇宙之机,吞吐天地之志者也。——《三国演义》文档来源为:=j;}printf("%d,%d,%d\n",max,row,col);习题一}下面程序可求出矩阵a的主对角线上的元素之和,请填(2)空使程序完整。main(){inta[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;for(i=0;i<3;i++)main()for(j=0;j<3;j++){if(【1】)sum=sum+【2】;Inta[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;printf(“sum=%d”,sum);for(i=0;i<3;i++)}for(j=0;j<3;j++)下面程序将十进制整数base转换成n进制,请填(3)空使程序完整。if(i==j)main(){inti=0,base,n,j,num[20]={0};sum=sum+a[i][j];main()printf("sum=%d",sum);{scanf(“%d”,&n);}inti=0,base,n,j,num[20]={0};scanf(“%d”,&base);scanf("%d",&n);do{scanf("%d",&base);i++;num[i]=【1】;do{i++;base=【2】;num[i]=base%n;}while(base!=0);base=base/n;for(【3】)}while(base!=0);printf(“%d”,num[j]);}for(j=i;j>=1;j--)printf("%d",num[j]);}下面程序的功能是输入10个数,找出最大值和最小值所在的main()位置,并把两者对调,然后输出调整后的10个数,请填(3){空使程序完整。inta[10],max,min,i,j,k=0;main()for(i=0;i<10;i++){inta[10],max,min,i,j,k;scanf("%d",&a[i]);for(i=0;i<10;i++)max=min=a[0];scanf(“%d”,&a[i]);for(i=0;i<10;i++)max=min=a[0];{for(i=0;i<10;i++){if(a[i]<min){min=a[i];k=i;}if(a[i]<min){min=a[i];【1】;}if(a[i]>max){max=a[i];j=i;}if(a[i]>max){max=a[i];【2】;}}}a[k]=max;【3】;a[j]=min;for(i=0;i<10;i++)for(i=0;i<10;i++)printf(“%d”,a[i]);printf("%d",a[i]);}}下面程序用“插入法”对数组a进行由小到大的排序,请填(3)7文档来源为:.:..非淡泊无以明志,非宁静无以致远。——诸葛亮文档来源为:。经典算法提示:简单插入排序算法的基本思想使将数组处理n-1次,第k次处理是将第k个元素插入到目前的位置。第k次的元素是这样插入的:在第k次处理时,前面的元素a[0],a[1],…,a[k-1]必定已排成了升序,将a[k]与a[k-1],a[k-2],…a[0]逐个比较(由后向前),若有a[j]<a[k],则a[k]插入到a[j]之后,否则a[k]维持原位不变。main(){inta[10]={191,3,6,4,11,7,25,13,89,10};main()inti,j,k;{inta[10]={191,3,6,4,11,7,25,13,89,10};for(i=1;i<10;i++){inti,j,k;k=a[i];for(i=1;i<10;i++)j=【1】;{while(j>=0&&k<a[j]){k=a[i];【2】;j=i-1;j--;while(j>=0&&k<a[j])}{【3】=k;a[j+1]=a[j];}j--;for(i=0;i<10;i++)printf(“%d”,a[i]);}}a[j+1]=k;//a[3]=a[5]最小的放后面下面程序用“两路合并法”把两个已按升序(由小到大)排列的数组合并成一个新的升序数}组,请填(3)空使程序完整。for(i=0;i<10;i++)printf("%d",a[i]);main()main()}{{main()inta[3]={5,9,10};inta[3]={5,9,10};{intb[5]={12,24,26,37,48};intb[5]={12,24,26,37,48};inta[2][3]={{4,5,6},{1,2,3}},b[2][3]={0},i,j;intc[10],i=0,j=0,k=0;intc[10],i=0,j=0,k=0;for(i=0;i<2;i++)while(i<3&&j<5)while(i<3&&j<5){if(【1】){if(a[i]>b[j])for(j=0;j<3;j++)c[k]=b[j];k++;j++;{c[k]=b[j];k++;j++;}{}else{elseprintf("%5d",a[i][j]);c[k]=a[i];k++;i++;{c[k]=a[i];k++;i++;}b[i][j+1]=a[i][j];}while(i<3&&j>=5)}while(【2】){{c[k]=a[i];i++;k++;}printf("\n");{c[k]=a[i];i++;k++;}while(i>=3&&j<5)}while(【3】){{c[k]=b[j];j++;k++;}for(i=0;i<2;i++)b[i][0]=a[i][2];{c[k]=b[j];j++;k++;}for(i=0;i<k;i++)printf("%d",c[i]);for(i=0;i<2;i++)for(i=0;i<k;i++)printf(“%d”,c[i]);}{}for(j=0;j<3;j++)下面程序的功能是将二维数组a中每个元素向右移{一列,最右一列换到最左一列,移后的结果保存到printf("%5d",b[i][j]);b数组中,并按矩阵形式输出a和b,请填(3)空使程}序完整。printf("\n");main()}}8文档来源为:.:..去留无意,闲看庭前花开花落;宠辱不惊,漫随天外云卷云舒。——《幽窗小记》文档来源为:.{inta[2][3]{{4,5,6},{1,2,3}},b[2][3],i,j;for(i=0;i<2;i++)for(j=0;j<3;j++){printf(“%5d”,a[i][j]);【1】;}printf(“\n”);}for(【2】)b[i][0]=a[i][2];for(i=0;i<2;i++){for(j=0;j<3;j++){printf(“%5d”,b[i][j]);【3】;}printf(“\n”);}}下面程序的功能是在一个字符串中查找一个指定的字符,若字符串中包含该字符则输出该字符在字符串中第一次出现的位置(下标值),否则输出-1,请填(2)空使程序完整。#include<>main()main(){charc=’a’;/*需要查找的字符*/{charc='a';/*需要查找的chart[50];字符*/inti,j,k;chart[50];gets(t);inti,j,k;i=【1】;gets(t);for(k=0;k<i;k++)i=strlen(t);if(【2】)for(k=0;k<i;k++){j=k;break;}if(t[k]==c)elsej=-1;{j=k;break;}printf(“%d”,j);elsej=-1;}printf("%d",j);下面程序用“顺序查找法”查找数组a中是否存在某一关键字,main()}请填(2)空使程序完整。{inta[2][2]={-1,-2,-3,-4},main()b[2][3]={2,10,9,4,5,119};{inta[10]={25,57,48,371,123,291,18,22,44};inti,j,k,s=0,c[2][3]={0};inti=0,x;main()for(i=0;i<2;i++)scanf(“%d”,&x);{for(j=0;j<3;j++)while(a[i]!=x&&【1】)i++;int{s=0;if(【2】)printf(“found=%d\n”,i);a[10]={25,57,48,371,123,291,for(k=0;k<2;k++)elseprintf(“can’tfound!\n”);18,22,44};{s+=a[i][k]*b[k][j];}习题二}inti=0,x;c[i][j]=s;scanf("%d",&x);}以下程序是求矩阵a,b的乘积,结果存放在矩阵C中并按矩阵whilefor(i=0;i<2;i++)(a[i]!=x&&i<10)i++;{for(j=0;j<3;j++)9文档来源为:(i<10)printf("%6d",c[i][j]);.printf("found=%d\n",i);printf("\n");else}printf("can'tfound!\n");}:..太上有立德,其次有立功,其次有立言,虽久不废,此谓不朽。——《左传》文档来源为:,请填(3)空使程序完整。main(){inta[2][2]={-1,-2,-3,-4},b[2][3]={2,10,9,4,5,119};inti,j,k,s,c[2][3];for(i=0;i<2;i++)for(j=0;j<3;j++){【1】for(k=0;k<2;k++)s+=【2】;c[i][j]=s;}for(i=0;i<3;i++){for(j=0;j<2;j++)printf(“%6d”,c[i][j]);【3】;}}以下程序是将字符串b的内容连接字符数组a的内容后面,形成新字符串a,请填(2)空使程序完main()整。{chara[40]="Great",b[]="Wall";main()inti=0,j=0;{chara[40]=”Great”,b[]=”Wall”;while(a[i]!='\0')i++;inti=0,j=0;while(b[j]!='\0')while(a[i]!=’\0’)i++;{while(【1】){a[i]=b[j];i++;j++;a[i]=b[j];i++;j++;}}a[i+1]=’\0’;【2】;printf("%s\n",a);printf(“%s\n”,a);}}下面函数用“折半查找法”从有10个数的a数组中对关键字m查找,若找到,返回其下标值,否则返回-1,请填(2)空使程序完整。经典算法提示:折半查找法的思路是先确定待查元素的范围,将其分成两半,然后比较位于中间点元素的值。如果该待查元素的值大于中间点元素的值,则将范围重新定义为大于中间点元素的范围,反之亦反。intsearch(inta[10],intm){intx1=0,x2=9,mid;intsearch(inta[10],intm)while(x1<=x2){{intx1=0,x2=9,mid;mid=(x1+x2)/2;while(x1<=x2)if(m<a[mid])【1】;{elseif(m>a[mid])【2】;mid=(x1+x2)/2;elsereturn(mid);if(m<a[mid])x2=mid;//这是升序,若果是降序}则是X1=MIDreturn(-1);elseif(m>a[mid])x1=mid;//这是升序,若果是降序则是X2=MID,10文档来源为:从网络收集整理elsereturn(mid);.word版本可编辑.}return(-1);}:..不飞则已,一飞冲天;不鸣则已,一鸣惊人。——《韩非子》文档来源为:.}del函数的作用是删除有序数组a中的指定元素x,n为数组a的元素个数,函数返回删除后的数组a元素个数,请填(2)空使程序完整。intdel(inta[10],intn,intx){intp=0,i;while(x>=a[p]&&p<n)【1】;intdel(inta[10],intn,intx)for(i=p-1;i<n;i++)【2】;{return(n-1);intp=0,i;}while(x>=a[p]&&p<n)p++;以下程序的功能是计算函数f=x/y+y/z,请填(3)空使程序完整。for(i=p-1;i<n;i++)a[i]=a[i+1];#include<>return(n-1);【1】;#include<>}//只能删除升序序列main()#include“
2025年海南大学C语言考试大题题库 来自淘豆网m.daumloan.com转载请标明出处.