您現在的位置是:首頁 >綜合 > 2022-09-11 12:51:16 來源:
計算機二級c語言考題(計算機二級c語言答案)
大家好,小霞來為大家解答以上的問題。計算機二級c語言考題,計算機二級c語言答案這個很多人還不知道,現在讓我們一起來看看吧!
1、1: 第1題 m個人的成績存放在score數組中,請編寫函數fun,它的功能是:將低于平均分的人作為函數值返回,將低于平均分的分數放在below所指定的函數中。
2、 答案: 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: 第2題 請編寫函數fun,它的功能是:求出1到100之內能北7或者11整除,但不能同時北7和11整除的所有證書,并將他們放在a所指的數組中,通過n返回這些數的個數。
3、 答案: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返回。
4、 答案: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<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所指的數組中。
5、 答案: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所指的數組中。
6、 答案: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;break;}}if (flag==1 && j>=i){if (k>=0){xx[g++]=i;k--;}elsebreak;}}}6: 第6題 請編寫一個函數void fun(char a[],char[],int n),其功能是:刪除以各字符串中指定下標的字符。
7、其中,a指向原字符串,刪除后的字符串存放在b所指的數組中,n中存放指定的下標。
8、 答案:void fun(char a[],char b[], int n){int I,j=0;for (i=0;i<LEN;i++)if (i!=n){b[j]=a[i];j++;}b[j]=‘’;}7: 第7題 請編寫一個函數int fun(int *s,int t,int *k),用來求除數組的最大元素在數組中的下標并存放在k所指的儲存單元中。
9、 答案:void fun (int *s, int t, int *k){int I, max;max=s[0];for(i=0;i<t;i++)if (s[i]>max){max=s[i];*k=I;}}8: 第8題 編寫函數fun,功能是:根據以下攻勢計算s,計算結果作為函數值返回;n通過形參傳入。
10、S=1+1/(1+2)+1/(1+2+3)+…….+1/(1+2+3+4+……+n) 答案:float fun (int n){int i;float s=1.0, t=1.0;for(i=2;i<=n;i++){t=t+i;s=s+1/t;}return s;}9: 第9題 編寫一個函數fun,它的功能是:根據以下公式求p的值,結果由函數值帶回。
11、M與n為兩個正整數,且要求m>n。
12、 p=m!/n!(m-n)! 答案:float fun(int m, int n){float p,t=1.0;int I;for (i=1;i<=m;i++)t=t*I;p=t;for(t=1.0,i=1;i<=n;i++)t=t*I;p=p/t;for(t=1.0,i=1;i<=m-n;i++)t=t*I;p=p/t;return p;}10: 第10題 編寫函數fun,它的功能是:利用以下的簡單迭代方法求方程cos(x)-x=0的一個實根。
13、迭代步驟如下:(1)取x1初值為0.0; (2)x0=x1,把x1的值賦各x0;(3)x1=cos(x0),求出一個新的x1;(4)若x0-x1的絕對值小于0.000001,則執行步驟(5),否則執行步驟(2);(5)所求x1就是方程cos(x)-x=0的一個實根,作為函數值返回。
14、程序將輸出root=0.739085。
15、 答案:float fun(){float x1=0.0,x0;do{ x0=x1;x1=cos(x0);}while(fabs(x0-x1)>1e-6);return x1;}處8分。
16、 編程題是60分,主函數編寫正確10分 fun函數編寫正確10分 算法正確20分 引用fun函數正確10分 全程序正確10分。
本文到此分享完畢,希望對大家有所幫助。