海南大学C语言考试大题题库.docx

上传人:b****3 文档编号:6767891 上传时间:2023-05-10 格式:DOCX 页数:27 大小:20.47KB
下载 相关 举报
海南大学C语言考试大题题库.docx_第1页
第1页 / 共27页
海南大学C语言考试大题题库.docx_第2页
第2页 / 共27页
海南大学C语言考试大题题库.docx_第3页
第3页 / 共27页
海南大学C语言考试大题题库.docx_第4页
第4页 / 共27页
海南大学C语言考试大题题库.docx_第5页
第5页 / 共27页
海南大学C语言考试大题题库.docx_第6页
第6页 / 共27页
海南大学C语言考试大题题库.docx_第7页
第7页 / 共27页
海南大学C语言考试大题题库.docx_第8页
第8页 / 共27页
海南大学C语言考试大题题库.docx_第9页
第9页 / 共27页
海南大学C语言考试大题题库.docx_第10页
第10页 / 共27页
海南大学C语言考试大题题库.docx_第11页
第11页 / 共27页
海南大学C语言考试大题题库.docx_第12页
第12页 / 共27页
海南大学C语言考试大题题库.docx_第13页
第13页 / 共27页
海南大学C语言考试大题题库.docx_第14页
第14页 / 共27页
海南大学C语言考试大题题库.docx_第15页
第15页 / 共27页
海南大学C语言考试大题题库.docx_第16页
第16页 / 共27页
海南大学C语言考试大题题库.docx_第17页
第17页 / 共27页
海南大学C语言考试大题题库.docx_第18页
第18页 / 共27页
海南大学C语言考试大题题库.docx_第19页
第19页 / 共27页
海南大学C语言考试大题题库.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

海南大学C语言考试大题题库.docx

《海南大学C语言考试大题题库.docx》由会员分享,可在线阅读,更多相关《海南大学C语言考试大题题库.docx(27页珍藏版)》请在冰点文库上搜索。

海南大学C语言考试大题题库.docx

海南大学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;

while(j>=0&&k

{

a[j+1]=a[j];

j--;

}

a[j+1]=k;//a[3]=a[5]最小的放后面

}

for(i=0;i<10;i++)printf("%d",a[i]);

}

{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=【1】;

      while(j>=0&&k

         【2】;

          j--;

      }

      【3】=k;

   }

   for(i=0;i<10;i++)printf(“%d”,a[i]);

}

 

main()

{

inta[3]={5,9,10};

intb[5]={12,24,26,37,48};

intc[10],i=0,j=0,k=0;

while(i<3&&j<5)

if(a[i]>b[j])

{c[k]=b[j];k++;j++;}

else

{c[k]=a[i];k++;i++;}

while(i<3&&j>=5)

{c[k]=a[i];i++;k++;}

while(i>=3&&j<5)

{c[k]=b[j];j++;k++;}

for(i=0;i

}

下面程序用“两路合并法”把两个已按升序(由小到大)排列的数组合并成一个新的升序数组,请填(3)空使程序完整。

main()

{

inta[3]={5,9,10};

   intb[5]={12,24,26,37,48};

   intc[10],i=0,j=0,k=0;

   while(i<3&&j<5)

      if(【1】){

         c[k]=b[j];k++;j++;

      }else{

         c[k]=a[i];k++;i++;

      }

   while(【2】){

      {c[k]=a[i];i++;k++;}

   while(【3】){

      {c[k]=b[j];j++;k++;}

   for(i=0;i

}

main()

{

inta[2][3]={{4,5,6},{1,2,3}},b[2][3]={0},i,j;

for(i=0;i<2;i++)

{

for(j=0;j<3;j++)

{

printf("%5d",a[i][j]);

b[i][j+1]=a[i][j];

}

printf("\n");

}

for(i=0;i<2;i++)b[i][0]=a[i][2];

for(i=0;i<2;i++)

{

for(j=0;j<3;j++)

{

printf("%5d",b[i][j]);

}

printf("\n");

}

}

下面程序的功能是将二维数组a中每个元素向右移一列,最右一列换到最左一列,移后的结果保存到b数组中,并

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2