C语言期末考试题库试题及答案

  • 格式:pdf
  • 大小:103.63 KB
  • 文档页数:47

下载文档原格式

  / 47
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1【程序填空】

---------------------------------------------------------

题目:下面函数为二分法查找key值。数组中元素已递增排序,若找到key则返回对应的下标,否则返回-1。

-------------------------------------------------------*/

#include

fun(int a[],int n,int key)

{

int low,high,mid;

low=0;

high=n-1;

/***********SPACE***********/

while(【low<=high】)

{

mid=(low+high)/2;

/***********SPACE***********/

if(key

/***********SPACE***********/

else if(key>a[mid]) 【low=mid+1】;

/***********SPACE***********/

else 【return(mid)】;

}

return -1;

}

void main()

{

int a[10]={1,2,3,4,5,6,7,8,9,10};

int b,c;

b=4;

c=fun(a,10,b);

if(c==-1)printf("not found");

else printf("position %d\n",c);

}

/*-------------------------------------------------------

2 【程序填空】

---------------------------------------------------------

题目:求n!,n值由键盘输入。

-------------------------------------------------------*/

#include

void main()

{

int n,i;

float t;

printf("please input n(n>=0):");

/***********SPACE***********/

scanf("%d",【&n】);

i=1;

t=1.0;

/***********SPACE***********/

while(【i<=n】)

/***********SPACE***********/

{ 【t*=i】

i++;

}

printf("%d!=%f",n,t);

}

a/*-------------------------------------------------------

3 【程序填空】

---------------------------------------------------------

题目:以下程序的功能是统计一个字符串中的字母、数字、空格、和其它字符的个数。

-------------------------------------------------------*/

#include "stdio.h"

main ()

{

char s1[80];int a[4]={0};

int k;

/***********SPACE***********/

【void fun(char s[],int[])】;

gets(s1);

/***********SPACE***********/

【fun(s1,a)】;

puts(s1);

for(k=0;k<4;k++)

printf("%4d",a[k]);

}

void fun(char s[],int b[])

{

int i;

for (i=0;s[i]!='\0';i++)

if ('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z') b[0]++;

/***********SPACE***********/

else if (【'0'<=s[i]&&s[i]<='9'】) b[1]++;

/***********SPACE***********/

else if (【s[i]==32】) b[2]++;

else b[3]++;

}

/*-------------------------------------------------------

4 【程序填空】

---------------------------------------------------------

题目:判断一个给定的整数是否为素数。

-------------------------------------------------------*/

#include

#include "math.h"

void main( )

{ int m,i,k;

scanf("%d",&m);

k=sqrt(m);

/***********SPACE***********/

for(i=2;【i<=k】;i++)

/***********SPACE***********/

if(【m%i==0】) break;

/***********SPACE***********/

if(【i>k】)

printf("Yes\n");

else

printf("No\n");

}

/*-------------------------------------------------------

5 【程序填空】

---------------------------------------------------------

题目:以下程序的功能:计算并输出500以内最大的10个能被13或17整除的自然数之和。

-------------------------------------------------------*/

#include

/***********SPACE***********/