2017年計算機二級C語言考前訓練題及答案
- C語言
- 關注:2.73W次
計算機二級對於很多考生來說還是比較有難度的,那麼怎樣順利通過二級考試呢?這就需要大家平時多練習和找方法了。以下是本站小編整理的2017年計算機二級C語言考前訓練題及答案,希望對大家有幫助!
考前訓練題一
1: 第1題 m個人的成績存放在score陣列中,請編寫函式fun,它的功能是:將低於平均分的人作為函式值返回,將低於平均分的分數放在below所指定的函式中。
答案:
int fun(int score[],int m,int below[])
{
int i,k=0,aver=0;
for(i=0;i
aver+=score[i];
aver/=m;
for(i=0;i
if(score[i]
{
below[k]=score[i];
k++;
}
return k;
}
2: 第2題請編寫函式fun,它的功能是:求出1到100之內能北7或者11整除,但不能同時北7和11整除的所有證書,並將他們放在a所指的陣列中,**n返回這些數的個數。
答案:
void fun(int *a, int *n)
{
int i,j=0;
for(i=2;i<1000;i++)
if ((i%7==0 || i==0) && iw!=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++;
}
for(i=0;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 ‘a’: pp[0]++;break;
case ‘b’: pp[1]++;break;
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’: pp[20]++;break;
case ‘v’: pp[21]++;break;
case ‘w’: pp[22]++;break;
case ‘x’: pp[23]++;break;
case ‘y’: pp[24]++;break;
case ‘z’: pp[25]++;break;
}
tt++;
}
}
5: 第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
{
for(j=0;j
{
if(i%j!=0)
flag=1;
else
{
flag=0;
break;
}
}
if (flag==1 && j>=i)
{
if (k>=0)
{
xx[g++]=i;
k--;
}
else
break;
}
}
}
6: 第6題請編寫一個函式void fun(char a[],char[],int n),其功能是:刪除以各字串中指定下標的字元。其中,a指向原字串,刪除後的字串存放在b所指的陣列中,n中存放指定的下標。
答案:
void fun(char a[],char b[], int n)
{
int I,j=0;
for (i=0;i
if (i!=n)
{
b[j]=a[i];
j++;
}
b[j]=‘