海南大学C语言考试大题题库.docx
- 文档编号:24952614
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:32
- 大小:20.45KB
海南大学C语言考试大题题库.docx
《海南大学C语言考试大题题库.docx》由会员分享,可在线阅读,更多相关《海南大学C语言考试大题题库.docx(32页珍藏版)》请在冰豆网上搜索。
海南大学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 printf("%d",x[i]); } intdel(inta[10],intn,intx) {intp=0,i; while(x>=a[p]&&p /***********SPACE***********/ 【? 】; for(i=p-1;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] 】;} /***********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; scanf("%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] -------------------------------------------------------*/ #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 /***********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); } /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 下面程序接受键盘上的输入,直到按↙键为止,这些字符被原样 输出,但若有连续的一个以上的空格时只输出一个空格,请填(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)空使 程序完整。 经典算法提示: 简单插入排序算法的基本思想使将数组处理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] -------------------------------------------------------*/ #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 /***********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); } 习题一 下面程序可求出矩阵a的主对角线上的元素之和,请填 (2)空使程序完整。 main() {inta[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j; main() { Inta[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) if(i==j) sum=sum+a[i][j]; printf("sum=%d",sum); } for(i=0;i<3;i++) for(j=0;j<3;j++) if(【1】) sum=sum+【2】; printf(“sum=%d”,sum); } 下面程序将十进制整数base转换成n进制,请填(3)空使程序完整。 main() { inti=0,base,n,j,num[20]={0}; scanf("%d",&n); scanf("%d",&base); do{ i++; num[i]=base%n; base=base/n; }while(base! =0); for(j=i;j>=1;j--) printf("%d",num[j]); } main() {inti=0,base,n,j,num[20]={0}; scanf(“%d”,&n); scanf(“%d”,&base); do{ i++; num[i]=【1】; base=【2】; }while(base! =0); for(【3】) printf(“%d”,num[j]); } main() { inta[10],max,min,i,j,k=0; for(i=0;i<10;i++) scanf("%d",&a[i]); max=min=a[0]; for(i=0;i<10;i++) { if(a[i] if(a[i]>max){max=a[i];j=i;} } a[k]=max; a[j]=min; for(i=0;i<10;i++) printf("%d",a[i]); } 下面程序的功能是输入10个数,找出最大值和最小值所在的位置,并把两者对调,然后输出调整后的10个数,请填(3)空使程序完整。 main() {inta[10],max,min,i,j,k; for(i=0;i<10;i++) scanf(“%d”,&a[i]); max=min=a[0]; for(i=0;i<10;i++){ if(a[i] if(a[i]>max){max=a[i];【2】;} } 【3】; for(i=0;i<10;i++) printf(“%d”,a[i]); } 下面程序用“插入法”对数组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] main() main() {inta[10]={191,3,6,4,11,7,25,13,89,10}; inti,j,k; for(i=1;i<10;i++) { k=a[i]; j=i-1;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 海南 大学 语言 考试 题库