• <sub id="h4knl"><ol id="h4knl"></ol></sub>
    <sup id="h4knl"></sup>
      <sub id="h4knl"></sub>

      <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
      1. <strong id="h4knl"></strong>

      2. 計(jì)算機(jī)二級(jí)考試C語(yǔ)言編程題練習(xí)題及答案

        時(shí)間:2024-07-30 10:06:56 計(jì)算機(jī)等級(jí) 我要投稿
        • 相關(guān)推薦

        2017年計(jì)算機(jī)二級(jí)考試C語(yǔ)言編程題練習(xí)題及答案

          計(jì)算機(jī)二級(jí)考試是全國(guó)計(jì)算機(jī)等級(jí)考試(National Computer Rank Examination,簡(jiǎn)稱NCRE)四個(gè)等級(jí)中的一個(gè)等級(jí),考核計(jì)算機(jī)基礎(chǔ)知識(shí)和使用一種高級(jí)計(jì)算機(jī)語(yǔ)言編寫程序以及上機(jī)調(diào)試的基本技能。下面是2017年計(jì)算機(jī)二級(jí)考試C語(yǔ)言編程題練習(xí)題及答案。歡迎閱讀。

        2017年計(jì)算機(jī)二級(jí)考試C語(yǔ)言編程題練習(xí)題及答案

          2017年計(jì)算機(jī)二級(jí)考試C語(yǔ)言編程題練習(xí)題及答案

          1.3程序編程題

          請(qǐng)編寫函數(shù)fun,其功能是:找出2×M整型二維數(shù)組中最大元素的值,并將此值返回調(diào)用函數(shù)。

          【參考答案】

          int fun (int a[][M])

          {int i,j,max=a[0][0];

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

          fr(j=0;j

          if(max

          max=a[i][j];

          return max;

          }

          2.3程序編程題

          編寫函數(shù)fun,其功能是:根據(jù)以下公式求π的值(要求精度0.0005,即某項(xiàng)小于0.0005時(shí)停止迭代)。

          程序運(yùn)行后,若輸入精度0.0005,則程序應(yīng)輸出為3.14…。

          【參考答案】

          double fun ( double eps)

          {double s=1.0,s1=1.0;

          int n=1;

          while(s1>=eps)

          {s1=s1*n/(2*n+1);

          s=s+s1;

          n++;

          }

          return 2*s;}

          3.3程序編程題

          編寫函數(shù)fun,其功能是:求出1~1000之間能被7或11整除,但不能同時(shí)被7和11整除的所有整數(shù),并將其放在a所指的數(shù)組中,通過(guò)n返回這些數(shù)的個(gè)數(shù)。

          【參考答案】

          void fun (int *a, int *n)

          {

          int i,j=0;

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

          if((i%7==0||i%11==0)&&i%77!=0)

          a[j++]=i;

          *n=j;

          }

          4.3程序設(shè)計(jì)題

          規(guī)定輸入的字符串中只包含字母和*號(hào)。編寫函數(shù)fun,其功能是:刪除字符串中所有的*號(hào)。編寫函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。

          例如,字符串中的內(nèi)容為:****A*BC*DEF*G*******,刪除后字符串中的內(nèi)容應(yīng)當(dāng)是:ABCDEFG。

          【參考答案】

          void fun( char *a )

          {int i,j=0;

          for(i=0;a[i]!='\0';i++)

          if(a[i]!='*')

          a[j++]=a[i];

          a[j]='\0';

          }

          5.3程序設(shè)計(jì)題

          編寫函數(shù)fun,其功能是:實(shí)現(xiàn)兩個(gè)字符串的連接(不要使用庫(kù)函數(shù)strcat),即把p2所指的字符串連接到p1所指的字符串的后面。

          例如,分別輸入下面兩個(gè)字符串:

          FirstString--

          SecondString

          程序輸出:

          FirstString--SecondString

          【參考答案】

          void fun(char p1[], char p2[])

          {int i,j;

          for(i=0;p1[i]!='\0';i++) ;

          for(j=0;p2[j]!='\0';j++)

          p1[i++]=p2[j];

          p1[i]='\0';}

          6.3程序設(shè)計(jì)題

          某學(xué)生的記錄由學(xué)號(hào)、8門課程成績(jī)和平均分組成,學(xué)號(hào)和8門課程的成績(jī)已在主函數(shù)中給出,請(qǐng)編寫函數(shù)fun,其功能是:求出該學(xué)生的平均分,并放入記錄的ave成員中。例如,學(xué)生的成績(jī)是:85.5,76,69.5,85,91,72,64.5,87.5,則他的平均分應(yīng)為78.875。

          【參考答案】

          void fun(STREC *a)

          {int i;

          a->ave=0.0;

          for(i=0;i

          a->ave=a->ave+a->s[i];

          a->ave/=N;

          }

          7.3程序設(shè)計(jì)題

          N名學(xué)生的成績(jī)已在主函數(shù)中放入一個(gè)帶頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。請(qǐng)編寫函數(shù)fun,其功能是:求出平均分,并由函數(shù)值返回。例如,若學(xué)生的成績(jī)是:85 76 69 85 91 72 64 87,則平均分應(yīng)當(dāng)是:78.625。

          【參考答案】

          double fun( STREC *h )

          {double ave=0.0;

          STREC *p=h->next;

          while(p!=NULL)

          { ave=ave+p->s;

          p=p->next;}

          return ave/N;}

          8.3程序設(shè)計(jì)題

          編寫函數(shù)fun,其功能是:將所有大于1小于整數(shù)m的非素?cái)?shù)存入xx所指數(shù)組中,非素?cái)?shù)的個(gè)數(shù)通過(guò)k返回。

          例如,若輸入17,則應(yīng)輸出:4 6 8 9 10 12 14 15 16。

          【參考答案】

          void fun( int m, int *k, int xx[] )

          {int i,j,n=0;

          for(i=4;i

          { for(j=2;j

          if(i%j==0) break;

          if(j

          }

          *k=n;

          }

          9.3程序設(shè)計(jì)題

          編寫函數(shù)fun,其功能是:求ss所指字符串中指定字符的個(gè)數(shù),并返回此值。

          例如,若輸入字符串123412132,輸入字符為1,則輸出3。

          【參考答案】

          int fun(char *ss, char c)

          {int i=0;

          for(;*ss!='\0';ss++)

          if(*ss==c)

          i++;

          return i;}

          10.3程序設(shè)計(jì)題

          編寫函數(shù)fun,其功能是:計(jì)算n門課程的平均分,結(jié)果作為函數(shù)值返回。例如:若有5門課程的成績(jī)是:90.5,72,80,61.5,55,則函數(shù)的值為:71.80。

          【參考答案】

          float fun ( float *a , int n )

          {

          int i;

          float av=0.0;

          for(i=0; i

          av=av+a[i];

          return(av/n); /*返回平均值*/

          }

          11.3程序設(shè)計(jì)題

          學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,N名學(xué)生的數(shù)據(jù)已放入主函數(shù)中的結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫函數(shù)fun,其功能是:把分?jǐn)?shù)最高的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中。注意:分?jǐn)?shù)最高的學(xué)生可能不止一個(gè),函數(shù)返回分?jǐn)?shù)最高的學(xué)生的人數(shù)。

          【參考答案】

          int fun( STREC *a, STREC *b )

          {int i,j=0,max=a[0].s;

          for(i=0;i

          if(max

          for(i=0;i

          if(max==a[i].s)

          b[j++]=a[i];

          return j;

          }

          12.3程序設(shè)計(jì)題

          規(guī)定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,其功能是:除了字符串前導(dǎo)的*號(hào)之外,將串中其它*號(hào)全部刪除。在編寫函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。

          例如,字符串中的內(nèi)容為:****A*BC*DEF*G*******,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是:****ABCDEFG。

          【參考答案】

          void fun( char *a )

          {

          int i=0;

          char *p=a;

          while(*p&&*p=='*')

          {a[i]=*p;

          i++;

          p++;}

          while(*p)

          {if(*p!='*')

          {a[i]=*p;i++;}

          p++;}

          a[i]='\0';

          }

          13.3程序設(shè)計(jì)題

          編寫函數(shù)void fun(char *tt,int pp[]),統(tǒng)計(jì)在tt所指的字符串中'a'到'z'26個(gè)小寫字母各自出現(xiàn)的次數(shù),并依次放在pp所指的數(shù)組中。例如,當(dāng)輸入字符串a(chǎn)bcdefgabcdeabc后,程序的輸出結(jié)果應(yīng)該是:

          3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

          【參考答案】

          void fun(char *tt, int pp[])

          {int i;

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

          pp[i]=0;

          for(;*tt!='\0';tt++)

          if(*tt>='a'&&*tt<='z')

          pp[*tt-'a']++;

          }

          14.3程序設(shè)計(jì)題

          規(guī)定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,其功能是:將字符串尾部的*號(hào)全部刪除,前面和中間的`*號(hào)不動(dòng)。例如,字符串中的內(nèi)容為:"****A*BC*DEF*G*******",刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是:"****A*BC*DEF*G"。在編寫函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。

          【參考答案】

          void fun( char *a )

          {while(*a!='\0')

          a++;

          a--;

          while(*a=='*')

          a--;

          *(a+1)='\0';

          }

          15.3程序設(shè)計(jì)題

          編寫函數(shù)fun,其功能是:比較字符串的長(zhǎng)度,(不得使用C語(yǔ)言提供的求字符串長(zhǎng)度的函數(shù)),函數(shù)返回較長(zhǎng)的字符串。若兩個(gè)字符長(zhǎng)度相同,則返回第一個(gè)字符串。例如,輸入beijingshanghai(為回車鍵),函數(shù)將返回shanghai。

          【參考答案】

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

          {int i,j;

          for(i=0;s[i]!= '\0';i++);

          for(j=0;t[j]!= '\0';j++);

          if(i<=j) return t;

          else return s;

          }

          16.3程序設(shè)計(jì)題

          學(xué)生的記錄由學(xué)號(hào)成績(jī)組成,N名學(xué)生的數(shù)據(jù)已放入主函數(shù)中的結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫函數(shù)fun,其功能是:函數(shù)返回該學(xué)號(hào)的學(xué)生數(shù)據(jù),指定的學(xué)號(hào)在主函數(shù)中輸入。若沒(méi)找到指定學(xué)號(hào),在結(jié)構(gòu)體變量中給學(xué)號(hào)置空串,給成績(jī)置-1,作為函數(shù)值返回。(用于字符串比較的函數(shù)是strcmp)。

          【參考答案】

          STREC fun( STREC *a, char *b )

          {int i;

          STREC str={"\0",-1};

          for(i=0;i

          if(strcmp(a[i].num,b)==0)

          str=a[i];

          return str;

          }

          17.3程序設(shè)計(jì)題

          函數(shù)fun的功能是:將s所指字符串中除下標(biāo)為偶數(shù)同時(shí)ASCII碼值也為偶數(shù)的字符外,其余的全部刪除;字符串中剩余字符所形成的新串放在t所指的數(shù)組中。例如,若s所指字符串中的內(nèi)容為"ABCDEFG123456",其中字符A的ASCII碼值為奇數(shù),因此應(yīng)當(dāng)刪除;字符B的ASCII碼值為偶數(shù),但在數(shù)組中的下標(biāo)為奇數(shù),因此也應(yīng)當(dāng)刪除;字符2的ASCII碼值為偶數(shù),在數(shù)組中

          的下標(biāo)也為偶數(shù),因此不應(yīng)當(dāng)刪除,其他依此類推。最后t所指的數(shù)組中的內(nèi)容應(yīng)是"246"。

          【參考答案】

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

          {int i,j=0;

          for(i=0;s[i]!='\0';i++)

          if(i%2==0 && s[i]%2==0)

          t[j++]=s[i];

          t[j]='\0'; }

          18.3程序設(shè)計(jì)題

          編寫函數(shù)fun,其功能是:利用下面的簡(jiǎn)單迭代方法求方程cos(x)-x=0的一個(gè)實(shí)根。

          迭代步驟如下:

          (1)取x1初值為0.0;

          (2)x0=x1,將x1的值賦給x0;

          (3)x1=cos(x0),求出一個(gè)新的x1;

          (4)若x0-x1的絕對(duì)值小于0.000001,

          執(zhí)行步聚(5),否則執(zhí)行步聚(2);

          (5)所求x1就是方程cos(x)-x=0的一

          個(gè)實(shí)根,作為函數(shù)值返回。

          程序?qū)⑤敵鼋Y(jié)果Root=0.739086。

          【參考答案】

          double fun()

          { double x0,x1;

          x1=0.0;

          do{

          x0=x1;

          x1=cos(x0);

          }while(fabs(x0-x1)>=1e-6);

          return x1;}

          19.3程序設(shè)計(jì)題[所屬年份:2010.9;2011.3;]

          規(guī)定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,其功能是:將字符串中的前導(dǎo)*號(hào)全部移到字符串的尾部。例如,字符串中的內(nèi)容為:"*******A*BC*DEF*G****",移動(dòng)后,字符串中的內(nèi)容應(yīng)當(dāng)是:"A*BC*DEF*G***********"。在編寫函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。

          【參考答案】

          void fun( char *a )

          {int i=0,n=0;

          char *p;

          p=a;

          while (*p=='*')

          {n++;p++;}

          while(*p)

          {a[i]=*p;i++;p++;}

          while(n!=0)

          {a[i]='*';i++;n--;}

          a[i]='\0';

          }

          20.3程序設(shè)計(jì)題

          學(xué)生記錄由學(xué)號(hào)和成績(jī)組成,N名學(xué)生的數(shù)據(jù)已放入主函數(shù)中的結(jié)構(gòu)體數(shù)組中,請(qǐng)編寫函數(shù)fun,其功能是:把分?jǐn)?shù)最低的學(xué)生數(shù)據(jù)放入b所指的數(shù)組中,注意:分?jǐn)?shù)最低的學(xué)生可能不止一個(gè),函數(shù)返回分?jǐn)?shù)最低的學(xué)生人數(shù)。

          【參考答案】

          int fun( STREC *a, STREC *b )

          {int i,j=0,min=a[0].s;

          for(i=0;i

          if(min>a[i].s)

          min=a[i].s;

          for(i=0;i

          if(min==a[i].s)

          b[j++]=a[i];

          return j;

          }

          21.3程序設(shè)計(jì)題

          編寫函數(shù)fun,其功能是計(jì)算:

          s作為函數(shù)值返回。在C語(yǔ)言中可調(diào)用log(n)函數(shù)求ln(n)。log函數(shù)的引用說(shuō)明為:double log(double x)。例如,若m的值為20,則fun函數(shù)值為6.506583。

          【參考答案】

          double fun( int m )

          {int i;

          double s=0.0;

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

          s=s+log(i);

          return sqrt(s);

          }

          22.3程序設(shè)計(jì)題[所屬年份:2010.9;2011.3;]

          規(guī)定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,其功能是:只刪除字符前導(dǎo)和尾部的*號(hào),串中字母間的*號(hào)都不刪除。形參n給出了字符串的長(zhǎng)度,形參h給出了字符串中前導(dǎo)*號(hào)的個(gè)數(shù),形參e給出了字符串中尾部*號(hào)的個(gè)數(shù)。在編寫函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。例如,字符串中的內(nèi)容為:"****A*BC*DEF*G*******",刪除后,字符串中

          的內(nèi)容應(yīng)當(dāng)是:"A*BC*DEF*G"。

          【參考答案】

          void fun( char *a, int n,int h,int e )

          {int i,j=0;

          for(i=h;i

          a[j++]=a[i];

          a[j]='\0'; }

          23.3程序設(shè)計(jì)題

          函數(shù)fun的功能是:將s所指字符串中下標(biāo)為偶數(shù)的字符刪除,剩余字符形成的新串放在t所指數(shù)組中。例如,當(dāng)s所指字符串中的內(nèi)容為"ABCDEFGHIJK"時(shí),在t所指數(shù)組中的內(nèi)容應(yīng)是:"BDFHJ"。

          【參考答案】

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

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

          for(i=1;i

          t[j++]=s[i];

          t[j]='\0';}

          24.3程序設(shè)計(jì)題

          編寫函數(shù)fun,其功能是:將a、b中的兩個(gè)兩位正整數(shù)合并成一個(gè)新的整數(shù)放在c中。合并的方式是:將a中的十位和個(gè)位數(shù)依次放在變量c的百位和個(gè)位上,b中的十位和個(gè)位數(shù)依次放在變量c的十位和千位上。

          例如,當(dāng)a=45,b=12,調(diào)用該函數(shù)后c=2415。

          【參考答案】

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

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

          }

          25.3程序設(shè)計(jì)題

          假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun,其功能是:除了尾部的*號(hào)之外,將字符中的其它的*號(hào)全部刪除。形參p已指向字符串中最后的一個(gè)字母。在編寫函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。

          例如,字符串中的內(nèi)容為****A*BC*DEF*G*******,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是ABCDEFG*******。

          【參考答案】

          void fun( char *a, char *p )

          {char *t=a;

          for(;t<=p;t++)

          if(*t!='*')

          *(a++)=*t;

          for(;*t!='\0';t++)

          *(a++)=*t;

          *a='\0';}

          26.3程序設(shè)計(jì)題

          學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成,N名學(xué)生的數(shù)據(jù)已放入主函數(shù)中的結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫函數(shù)fun,其功能是:按分?jǐn)?shù)降序排列學(xué)生的記錄,高分在前,低分在后。

          【參考答案】

          void fun( STREC a[] )

          {int i,j;

          STREC t;

          for(i=1;i

          for(j=0;j

          if(a[j].s

          {t=a[j];a[j]=a[j+1];a[j+1]=t;}

          }

          27.3程序設(shè)計(jì)題

          學(xué)生的記錄由學(xué)號(hào)和成績(jī)組成。N名學(xué)生的數(shù)據(jù)已放入主函數(shù)中的結(jié)構(gòu)體數(shù)組s中,請(qǐng)編寫函數(shù)fun,其功能是:把高于等于平均分的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,高于等于平均分的學(xué)生人數(shù)通過(guò)形參n傳回,平均分通過(guò)函數(shù)值返回。

          【參考答案】

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

          {int i;

          double av=0.0;

          *n=0;

          for(i=0;i

          av=av+a[i].s;

          av=av/N;

          for(i=0;i

          if(av<=a[i].s)

          { b[*n]=a[i];*n=*n+1;}

          return av; }

          28.3程序設(shè)計(jì)題

          編寫函數(shù)fun,其功能是:將1到m之間(含m)能被7或11整除的所有整數(shù)放在數(shù)組a中,并通過(guò)n返回這些數(shù)的個(gè)數(shù)。例如,若傳給m的值為50,則程序輸出:

          7 11 14 21 22 28 33 35 42 44 49

          【參考答案】

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

          {int i,j=0;

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

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

          a[j++]=i;

          *n=j;

          }

          29.3程序設(shè)計(jì)題

          規(guī)定輸入的字符串中只包含字母和*號(hào)。編寫函數(shù)fun,其功能是:將字符串中的前導(dǎo)*號(hào)全部刪除,中間和尾部的*號(hào)不刪除。

          例如,字符串中的內(nèi)容為:"*******A*BC*DEF*G****",刪除后字符串中的內(nèi)容應(yīng)當(dāng)是:"A*BC*DEF*G****"。編寫函數(shù)時(shí),不得使用C語(yǔ)言提供的字符串函數(shù)。

          【參考答案】

          void fun( char *a )

          {char *p=a;

          while(*p=='*') p++;

          for(;*p!='\0';p++,a++)

          *a=*p;

          *a='\0';

          }

          30.3程序設(shè)計(jì)題

          N名學(xué)生的成績(jī)已在主函數(shù)中放入一個(gè)帶有頭節(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點(diǎn)。請(qǐng)編寫函數(shù)fun,其功能是:找出學(xué)生的最高分,并由函數(shù)值返回。

          【參考答案】

          double fun( STREC *h )

          {double max=h->s;

          while(h!=NULL)

          {if(maxs) max=h->s;

          h=h->next;}

          return max;

          }

        【計(jì)算機(jī)二級(jí)考試C語(yǔ)言編程題練習(xí)題及答案】相關(guān)文章:

        計(jì)算機(jī)二級(jí)C語(yǔ)言考試真題及答案09-30

        2017計(jì)算機(jī)二級(jí)考試C語(yǔ)言沖刺題及答案03-22

        2017計(jì)算機(jī)二級(jí)考試C語(yǔ)言練習(xí)題及答案03-10

        計(jì)算機(jī)二級(jí)C語(yǔ)言真題及答案09-26

        計(jì)算機(jī)二級(jí)考試C語(yǔ)言歷年真題及答案解析03-10

        2024年計(jì)算機(jī)二級(jí)c語(yǔ)言考試真題及答案09-25

        計(jì)算機(jī)二級(jí)C語(yǔ)言考試試題及答案03-08

        2017計(jì)算機(jī)二級(jí)考試C語(yǔ)言習(xí)題及答案03-10

        2017計(jì)算機(jī)二級(jí)考試C語(yǔ)言沖刺題03-10

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码
      3. <sub id="h4knl"><ol id="h4knl"></ol></sub>
        <sup id="h4knl"></sup>
          <sub id="h4knl"></sub>

          <sub id="h4knl"><ol id="h4knl"><em id="h4knl"></em></ol></sub><s id="h4knl"></s>
          1. <strong id="h4knl"></strong>

          2. 在线视频男人的天堂 | 亚洲综合久久精品一区二区 | 亚洲国产综合在线中文字幕 | 日本中文字幕在线免费观看一区二区 | 亚洲最新AV在线 | 日本免费一区二区三区中文字幕 |