<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. 試題

    計算機二級C語言練習題及答案

    時間:2025-05-11 18:16:54 試題 我要投稿

    2016計算機二級C語言練習題及答案

      計算機等級考試要取得好成績平時一定要多加練習,提高做題技巧和速度。下面是小編為大家整理的2016計算機二級C語言練習題及答案,希望對大家有幫助!

      練習一

      1: 下列程序定義了n×n的二維數組,并在主函數中自動賦值。請編寫函數 fun(int a[][n]),該函數的功能是:使數組左下半三角元素中的值全部置成0。

      答案:

      int fun(int a[][N])

      {

      int I,j;

      for(i=0;i

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

      a[i][j]=0;

      }

      2: 下列程序定義了n×n的二維數組,并在主函數中賦值。請編寫函數fun,函數的功能使求出數組周邊元素的平均值并作為函數值返回給主函數中的s。

      答案:

      double fun(int w[][N])

      {

      int I,j,k=0;

      double s=0.0;

      for(j=0;j

      {

      s+=w[0][j];

      k++;

      }

      for(j=0;j

      {

      s+=w[N-1][j];

      k++;

      }

      for(i=1;i<=N-2;i++)

      {

      s+=w[i][0];

      k++;

      }

      for(i=1;i<=N-2;i++)

      {

      s+=w[i][N-1];

      k++;

      }

      return s/=k;

      }

      3: 請編寫一個函數void fun(int tt[m][n],int pp[n]),tt指向一個m行n列的二維函數組,求出二維函數組每列中最小元素,并依次放入pp所指定一維數組中。二維數組中的數已在主函數中賦予。

      答案:

      void fun(int tt[M][N], int pp[N])

      {

      int I,j,min;

      for(j=0;j

      {

      min=tt[0][j];

      for(i=0;i

      {

      if (tt[i][j]

      min=tt[i][j];

      }

      pp[j]=min;

      }

      }

      4: 請別寫函數fun,函數的功能使求出二維數組周邊元素之和,作為函數值返回。二維數組中的值在主函數中賦予。

      答案:

      int fun(int a[M][N])

      {

      int I,j,s=0;

      for(j=0;j

      {

      s+=a[0][j];

      s+=a[M-1][j];

      }

      for(i=1;i<=M-2;i++)

      {

      s+=a[i][0];

      s+=a[i][N-1];

      }

      return s;

      }

      5: 請編寫一個函數unsigned fun(unsigned w),w使一個大于10的無符號整數,若w使n(n≥2)位的整數,則函數求出w后n-1位的數作為函數值返回。

      答案:

      unsigned fun(unsigned w)

      {

      unsigned t,s=0,s1=1,p=0;

      t=w;

      while(t>10)

      {

      if(t/10)

      p=t;

      s=s+p*s1;

      s1=s1*10;

      t=t/10;

      }

      return s;

      }

      6: 請編寫一個函數float fun(double h),函數的功能使對變量h中的值保留2位小樹,并對第三位進行四舍五入(規定h中的值位正數)。

      答案:

      float fun(float h)

      {

      long t;

      float s;

      h=h*1000;

      t=(h+5)/10;

      s=(float)t/100.0;

      return s;

      }

      7: 請編寫一個函數fun(char *s),該函數的功能使把字符串中的內容擬置。

      答案:

      void fun(char *s)

      {

      char ch;

      int I,m,n;

      i=0;

      m=n=strlen(s)-1;

      while(i<(n+1)/2)

      {

      ch=s[i];

      s[i]=s[m];

      s[m]=ch;

      i++;

      m--;

      }

      8: 編寫程序,實現矩陣(3行3列)的轉置(即行列互換)。

      答案:

      void fun(int array[3][3])

      {

      int I,j,temp;

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

      for(j=0;j

      {

      temp=array[i][j];

      array[i][j]=array[j][i];

      array[j][i]=temp;

      }

      }

      9: 編寫函數fun,該函數的功能是:從字符中刪除指定的字符,同一字母的大、小寫按不同字符處理。

      答案:

      void fun(char s[],int c)

      {

      int i=0;

      char *p;

      p=s;

      while(*p)

      {

      if(*p!=c)

      {

      s[i]=*p;

      i++;

      }

      p++;

      }

      s[i]=‘\0’;

      }

      10: 編寫函數int fun(int lim,int aa[max]),該函數的功能是求出小于或等于lim的所有素數并放在aa數組中,該函數返回所求的素數的個數。

      答案:

      int fun(int lim, int aa[MAX])

      {

      int k=0,I,j;

      for(i=lim;i>1;i--)

      {

      for(j=2;j

      if(i%j==0)

      break;

      else

      continue;

      if(j>=i)

      {

      aa[k]=i;

      k++;

      }

      }

      return k++;

      }

      練習二

      1: 請編寫函數fun,對長度位7個字符的字符串,除首尾字符外,將其余5個字符按ascii碼降序排列。

      答案:

      void fun(char *s,int num)

      {

      char t;

      int I,j;

      for(i=1;i

      for(j=i+1;j

      if(s[i]

      {

      t=s[i];

      s[i]=s[j];

      s[j]=t;

      }

      }

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

      答案:

      double fun(STREC *h)

      {

      double max;

      STREC *q=h;

      max=h->s;

      do

      {

      if(q->s>max)

      max=q->s;

      q=q->next;

      }

      while(q!=0);

      return max;

      }

      3: 請編寫函數fun,該函數的功能是:判斷字符串是否為回文?若是則函數返回1,主函數中輸出yes,否則返回0,主函數中輸出no。回文是指順讀和倒讀都是一樣的字符串。

      答案:

      int fun(char *str)

      {

      int I,n=0;fg=1;

      char *p=str;

      while (*p)

      {

      n++;

      p++;

      }

      for(i=0;i

      if (str[i]==str[n-1-i]);

      else

      {

      fg=0;

      break;

      }

      return fg;

      }

      4: 請編寫一個函數fun,它的功能是:將一個字符串轉換為一個整數(不得調用c語言提供的將字符串轉換為整數的函數)。

      答案:

      long fun (char *p)

      {

      long s=0,t;

      int i=0,j,n=strlen(p),k,s1;

      if(p[0]==‘-’)

      i++;

      for(j=I;j<=n-1;j++)

      {

      t=p[j]-‘0’;

      s1=10;

      for(k=j;k

      t*=s1;

      s+=t;

      }

      if(p[0]==‘-’)

      return –s;

      else

      return s;

      }

      5: 請編寫一個函數fun,它的功能是:比較兩個字符串的長度,(不得調用c語言提供的求字符串長度的函數),函數返回較長的字符串。若兩個字符串長度相同,則返回第一個字符串。

      答案:

      char *fun(char *s,char *t)

      {

      char *p,*t1=t,*s1=s;

      int n=0;m=0;

      while (*s1)

      {

      n++;

      s1++;

      }

      while(*t1)

      {

      m++;

      t1++;

      }

      if(n>=m)

      p=s;

      else

      p=t;

      return p;

      }

      6: 請編寫一個函數fun,它的功能是:根據以下公式求x的值(要求滿足精度0.0005,即某項小于0.0005時停止迭代):

      x/2=1+1/3+1×2/3×5+1×2×3/3×5×7+1×2×3×4/3×5×7×9+…+1×2×3×…×n/3×5×7×(2n+1)

      程序運行后,如果輸入精度0.0005,則程序輸出為3.14…。

      答案:

      double fun(double eps)

      {

      double s;

      float n,t,pi;

      t=1;pi=0;n=1.0;s=1.0;

      while((fabs(s))>=eps)

      {

      pi+=s;

      t=n/(2*n+1);

      s*=t;

      n++;

      }

      pi=pi*2;

      return pi;

      }

      7: 請編寫一個函數fun,它的功能是:求除1到m之內(含m)能北7或11整除的所有整數放在數組a中,通過n返回這些數的個數。

      答案:

      void fun(int m, int *a, int *n)

      {

      int I,j=0; *n=0;

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

      if (i%7==0 || i ==0)

      {

      a[j]=I;

      j++;

      }

      *n=j;

      }

      8: 請編寫一個函數fun,它的功能是:找出一維整型數組元素中最大的值和它所在的下標,最大的值和它所在的下標通過形參傳回。數組元素中的值已在主函數中賦予。主函數中x是數組名,n 是x中的數據個數,max存放最大值,index存放最大值所在元素的下標。

      答案:

      void fun (int a[],int n, int *max, int *d)

      {

      int I;

      *max=a[0];

      *d=0;

      for(i=0;I

      if(a[i]>*max)

      {

      *max=a[i];

      *d=I;

      }

      }

      9: 請編寫一個函數fun,它的功能是:將ss所指字符串中所有下標為奇數位置上的字母轉換為大寫(若該位置上不是字母,則不轉換)。

      答案:

      void fun(char *ss)

      {

      int I,n;

      n=strlen(ss);

      for(i=1;i

      if(ss[i]>=‘a’&& ss[i]<=‘z’)

      ss[i]=ss[i]-32;

      }

      10: 請編寫一個函數fun,它的功能是:求除一個2×m整型二維數組中最大元素的值,并將此值返回調用函數。

      答案:

      int fun(int a[][M])

      {

      int I,j,max;

      max=a[0][0];

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

      for(j=0;j

      if(a[i][j]>max)

      max=a[i][j];

      return max;

      }

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

    計算機二級《C語言》練習題及答案11-27

    計算機二級C語言練習題及答案09-20

    計算機二級C語言練習題及答案201707-26

    計算機二級C語言考前練習題及答案10-27

    計算機二級《C語言》基礎練習題及答案10-10

    2017計算機二級C語言精選練習題及答案09-20

    計算機二級C語言章節練習題及答案11-27

    2016計算機二級《C語言》練習題及答案10-02

    計算機二級《C語言》基礎練習題及答案10-13

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