<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            C語言

            計算機二級C語言提分訓練題及答案

            時間:2025-03-18 04:49:29 C語言 我要投稿

            2017計算機二級C語言提分訓練題及答案

              練習是幫助我們鞏固知識的最好方法,以下是小編整理的2017計算機二級C語言提分訓練題及答案,希望對大家有幫助!

            提分訓練題一

              1: 第1題請編寫函數fun,其功能使:將兩個兩位正整數a b合并形成一個整數放在c中。合并的方式使:將a數的十位和個位數依次放在c數的百位和個位上,b數的十位和個位數依次放在c數的千位和十位上。

              答案:

              void fun(int a,int b,long *c)

              {*c=(b/10)*1000+(a/10)*100+(b%10)*10+a%10;}

              2: 第2題請編寫一個函數fun,它的功能使:計算n門課程的平均分,計算結果作為函數值返回。

              答案:

              float fun(float *a,int n)

              {float ave=0.0;

              int i;

              for(i=0;i

              ave+=a;

              ave/=n;

              return ave;}

              3: 第3題假定輸入的字符串中只包含字母和*號。請編寫函數fun,它的功能使:將字符串尾部的*號全部刪除,前面和中間的*號不刪除。

              答案:

              void fun(char *a)

              {int i=0;

              char *p,*q;

              p=q=a;

              while(*p)

              p++;

              p--;

              while(*p==‘*’)

              p--;

              while(q<=p)

              {a=*q;

              i++;

              q++;}

              a=‘\0’;}

              4: 第4題請編寫函數fun,其功能是:將兩個兩位數的正整數a b合并形成一個整數放在c中,合并的方式是:將a數的十位和個位數依次放在c的個位和百位上,b數的十位和個位數依次放在c數的千位和十位上。

              答案:

              void fun(int a,int b,long *c)

              {c=(b/10)*1000+(a%10)*100+(b%10)*10+a/10;}

              5: 第5題 n名學生的成績已在主函數中放入一個帶頭節點的鏈表結構中,h指向鏈表的頭節點。請編寫函數fun,它的功能是:求出平均分,由函數值返回。

              答案:

              double fun(strec *h)

              {double aver=0.0;

              while(h!=null)

              {aver+=h->s;

              hy=h->next;}

              aver/=n;

              return aver;}

              6: 第6題請編寫函數fun,計算并輸出給定10個數的方差。

              答案:

              double fun(double x[10])

              {int i,j;

              double s=0.0,s1=0.0;

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

              s1+=x;

              s1/=10;

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

              s+=(x[j]-s1)*(x[j]-s1);

              s/=10;

              s=pow(s,0.5);

              return s;}

              7: 第7題請編寫函數fun,其功能是:將兩個兩位數的正整數a b合并形成一個整數放在c 中。合并的方式是:將a數的十位和個位數依次放在c數的千位和十位上,b數的十位和個位數依次放在c數的個位和百位上。

              答案:

              void fun(int a,int b,long *c)

              {*c=(a/10)*1000+(a%10)*10+(b%10)*100+b/10;}

              8: 第8題假定輸入的字符串中只包含字母和*號。請編寫函數fun,它的功能是:除了字符串前導的*號之外,將串中其他*號全部刪除。在編寫函數亞時,不得使用c語言提供的字符串函數。

              答案:

              void fun(char *a)

              {int i=0;

              char *p=a;

              while(*p&&*p==‘*’)

              {a=*p;

              i++;

              p++;}

              while(*p)

              {if(*p!=‘*’)

              {a=*p;

              i++;}

              p++;}

              a=‘\0’;}

              9: 第9題學生的記錄是由學號和成績組成,n名學生的數據已在主函數中放入結構體數組s中,請編寫函數fun,它的功能是:把高于等于平均分的學生數據放在b所指的數組中,高于等于平均分的學生人數**形參n傳回,平均分**函數值返回。

              答案:

              double fun(strec *a,strec *b,int *n)

              {double aver=0.0;

              int i,j=0;

              for(i=0;i

              aver+=a.s;

              aver/=n;

              for(i=0;i

              if(a.s)>=aver}

              {*(b+j)=a;

              j++;}

              *n=j;

              return aver;}

              10: 第10題請編寫函數fun,其功能是:計算并輸出下列多項式值:sn=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)1/2n).

              答案:

              sn=(1-1/2)+(1/3-1/4)+...+(1/(2n-1)1/2n).

              double fun(int n)

              {int i;

              double sn=0.0;

              for(i=1;i<=n;i++)

              sn+=(1.0/(2*i-1)-1.0/(2*i));

              return sn;}

              提分訓練題二

              1: 請編寫函數fun,其功能時:將兩個兩位數的正整數a、b合并形成一個整數放在c中,合并的方式是:將a數的十位和個位數依次放在c數的十位和千位上,b的十位和個位整數依次放在c數的百位和個位上。

              答案:

              void fun(int a,int b,long *c)

              {*c=(a)*1000+(b/10)*100+(a/10)*10+b;}

              2: 請編寫函數fun,其功能是:將s所指字符串中下標為偶數的字符刪除,串中剩余字符形成新串放在t所指數組中。

              答案:

              void fun(char *s,char t[])

              {int i,j=0,n=strlen(s);

              for(i=0;i

              if(i%2!=0)

              {t[j]=s;

              j++;}

              t[j]=‘\0’;}

              3: 假定輸入的字符串中只包含字母和*號,請編寫函數fun,它的功能是:除了字符串前導和尾部的*號之外,將串中其他*號全部刪除。形參h已指向字符串第一個字符,形參p已指向字符串中最后一個字母。在編寫程序時,不得使用c語言提供的字符串函數。

              答案:

              void fun(char *a,char *h,char *p)

              {int i=0;

              char *q=a;

              while(q

              {a=*q;

              q++;

              i++;}

              while(q

              {if(*q!=‘’*)

              {a=*q;

              i++;}

              q++;}

              while(*q)

              {a=*q;

              i++;

              q++;}

              a=‘\0’;}

              4: 學生的記錄由學號和成績組成n名學生的數據已在主函數中放入結構體數組s中,請編寫函數fun,它的功能時:把分數最低的學生數據放在h所指的數組中,注意:分數最低的學生可能不止一個,函數返回分數最低的學生的人數。

              答案:

              int fun(strec *a,strec *b)

              {int i,j=0,n=0,min;

              min=a[0].s;

              for(i=0;i

              if(a.s

              min=a.s;

              for(i=0;i

              if(a.s==min)

              {*(b+j)=a;

              j++;

              n++;}

              return n;}

              5: 請編寫函數fun ,該函數的功能:將m行n列的二維數組中的數據,按列的順學依次放到一維數組中。

              答案:

              void fun(int (*s)[]10,int *b,int *n,int mm,int nn)

              {int i,j;

              for(j=0;j

              for(i=0;i

              {b[*n]=*(*(s+i)+j);

              *n=*n+1;}}

              6: 請編寫函數fun,其功能時:計算并輸出當x<0.97時下列多項式的值,直到|sn-s(n-1)|<0.000001為止。

              Sn=1+0.5x+0.5(0.5-1)/2!x(2)+…+0.5(0.5-1)(0.5-2)…..(0.5-n+1)/n!x(n)

              答案:

              .double fun(double x)

              {double s1=1.0,p=1.0,sum=0.0,s0,t=1.0;

              int n=1;

              do

              {s0=s1;

              sum+=s0;

              t*=n;

              p*=(0.5-n+1)*x;

              s1=p/t;

              n++;}while(fabs(s1-s0)>1e-6);

              return sum;}

              7: 請編寫一個函數fun,其功能是:將兩個兩位數的正整數ab合并形成一個整數放在c中。合并方式是:將a數的十位和個位數依次放在c數的個位和百位上,b數的十位和個位數依次放在c數的十位和千位上。

              答案:

              void fun(int a,int b,long *c)

              {*c=(b)*1000+(a)*100+(b/10)*10+a/10;}

              8: 請編寫函數fun,其功能是:將s所指字符串中ascii值為偶數的字符刪除,串中剩余字符形成一個新串放在t所指的數組中。

              答案:

              void fun(char *s,char t[])

              {int i,j=0,n=strlen(s);

              for(i=0;i

              if (s%2!=0)

              {t[j]=s;

              j++;}

              t[j]=‘\0’;}

              9: 已知學生的記錄由學號和學習成績構成,n名學生的數據已存入a結構體數組中。請編寫函數fun,該函數的功能是:找出成績最低的學生記錄,**形參返回主函數(規定只有一個最低分)。

              答案:

              void fun(stu a[],stu *s)

              {int i,min;

              min=a[0].s;

              for(i=0;i

              if(a.s

              {min=a.s;

              *s=a;}}

              10: 程序定義了n×n的二維數組,并在主函數中自動賦值。請編寫函數fun,該函數的功能是:使數組左下半三角元素中的值乘以n。

              答案:

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

              {int i,j;

              for(i=0;i

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

              a[j]=a[j]*n;}

             

            【計算機二級C語言提分訓練題及答案】相關文章:

            2017計算機二級C語言提分訓練題10-14

            2017年3月計算機二級C語言提分訓練題及答案09-16

            2024計算機二級C語言備考提分題01-02

            計算機二級《C語言》選擇題訓練題及答案09-05

            2017年計算機二級C++提分訓練題10-24

            2017計算機二級C語言復習訓練題及答案10-29

            2017計算機二級《VB》考試提分訓練題及答案07-07

            計算機二級《C語言》選擇訓練題及答案201609-17

            計算機二級考試C語言能力提高訓練題及答案08-17

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看