二级c语言编程题库100题,计算机二级C语言编程题库100题(70页)-原创力文档

2011,____年上机题100 题库

第 1 题 m 个人的成绩存放在 score 数组中,请编写函数 fun,它的功能是:

将低于平均分的人作为函数值返回,将低于平均分的分数放在below 所指定的函

数中。

答案:

int fun(int score[],int m,int below[])

{

int i,k=0,aver=0;

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

aver+=score[i];

aver/=m;

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

if(score[i] <aver)

{

below[k]=score[i];

k++;

}

return k;

}

第 2 题 请编写函数 fun,它的功能是:求出 1 到 100 之内能北 7 或者 11

整除,但不能同时北 7 和 11 整除的所有证书,并将他们放在 a 所指的数组中,通过 n 返回这些数的个数。

1/ 70

答案:

void fun(int *a, int *n)

{

int i,j=0;

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

if ((i%7==0 || i%11==0) && i%77!=0)

a[j++]=i;

*n=j;

}

3: 第 3 题 请编写函数 void fun(int x,int pp[],int *n), 它的功能是:求出能整除 x 且不是偶数的各整数,并按从小到大的顺序放在 pp 所指的数组中,这些除数的个数通过形参 n 返回。

答案:

void fun(int x, int pp[ ], int *n)

{

int i=1,j=0;k=0,*t=pp;

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

if(i%2!=0)

{

t[j]=I;

j++;

}

2/ 70

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

if(x%t[i]==0)

{

pp[k]=t[i];

k++;

}

*n=k;

}

4: 第 4 题 请编写一个函数 void fun(char *tt,int pp[]), 统计在 tt 字符中 "a" 到 "z"26 各字母各自出现的次数,并依次放在 pp 所指的数组中。

答案:

void fun(char *tt, int pp[])

{

int i;

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

pp[i]=0;

while (*tt)

{

switch (*tt)

{

case‘pp[0]++;break;’:

case‘ b’ : pp[1]++;break;

3/ 70

case‘ c’ : pp[2]++;break;

case‘ d’ : pp[3]++;break;

case‘ e’ : pp[4]++;break;

case‘ f ’ : pp[5]++;break;

case‘ g’ : pp[6]++;break;

case‘ h’ : pp[7]++;break;

case‘ i ’ : pp[8]++;break;

case‘ j ’ : pp[9]++;break;

case‘ k’ : pp[10]++;break;

case‘ l ’ : pp[11]++;break;

case‘ m’ : pp[12]++;break;

case‘ n’ : pp[12]++;break;

case‘ o’ : pp[14]++;break;

case‘ p’ : pp[15]++;break;

case‘ q’ : pp[16]++;break;

case‘ r ’ : pp[17]++;break;

case‘ s’ : pp[18]++;break;

case‘ t ’ : pp[19]++;break;

case‘ u’[20]++;break;:pp

case‘ v’ : pp[21]++;break;

case‘ w’ : pp[22]++;break;

4/ 70

case‘ x’ : pp[23]++;break;

case‘ y’ : pp[24]++;break;

case‘ z’ : pp[25]++;break;

}

tt++;

}

}

第 5 题 请编写一个函数 void fun(int m,int k,int xx[]), 该函数的功能是:将大于整数 m 且紧靠 m 的 k 各素数存入 xx 所指的数组中。

答案:

void fun(int m, int k, int xx[])

{

int g=0,I,j,flag=1;

for(i=m+1;i<m*m;i++)

{

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

{

if(i%j!=0)

flag=1;

else

{

flag=0;

5/ 70

break;

}

}

if (flag

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值