<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. 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

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人