<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            C語言

            計算機二級C語言上機模擬試題及解題思路

            時間:2025-02-16 01:03:06 C語言 我要投稿
            • 相關推薦

            計算機二級C語言上機模擬試題及解題思路

              隨著2017年上半年計算機等級考試的臨近,百分網小編為大家整理了2017計算機二級C語言上機模擬試題及解題思路,更多計算機等級考試信息請關注應屆畢業生考試網。

            計算機二級C語言上機模擬試題及解題思路

              填空題

              給定程序中,函數fun的功能是:在形參ss所指字符串數組中,將所有串長超過k的字符串中右邊的字符刪除,只保留左邊的k個字符。ss所指字符串數組中共有N個字符串,且串長小于M。 請在程序的下劃線處填入正確的內容并把下劃線刪除, 使程序得出正確的結果。

              注意:源程序存放在考生文件夾下的BLANK1.C中。

              不得增行或刪行,也不得更改程序的結構!

              給定源程序:

              #include

              #include

              #define N 5

              #define M 10

              void fun(char (*ss) __1__, int k)

              { int i=0 ;

              while(i< __2__) {

              ss[i][k]=__3__; i++; }

              }

              main()

              { char x[N][M]={"Create","Modify","Sort","skip","Delete"};

              int i;

              printf("\nThe original string\n\n");

              for(i=0;i

              fun(x,4);

              printf("\nThe string after deleted :\n\n");

              for(i=0; i

              }

              解題思路:

              本題是根據給定的字符串數組中刪除串長大于某個值的右邊字符串。

              第一處:函數的定義,試題中已用M作為字符串的長度,所以應填:M。

              第二處:利用while循環,分別對字符串數組中的每個字符串置字符串結束符,程序中已經給定了N個字符串,所以應填:N。

              第三處:置字符串結束符,所以應填:0(或'\0')。

              改錯題

              給定程序MODI1.C中函數fun的功能是:根據以下公式求π值,并作為函數值返回。

              例如,給指定精度的變量eps輸入0.0005時,應當輸出Pi=3.140578。

              π 1 1 2 1 2 3 1 2 3 4

              ─=1+ ─ + ─×─ + ─×─×─ + ─×─×─×─+……

              2 3 3 5 3 5 7 3 5 7 9

              請改正程序中的錯誤,使它能得出正確結果。

              注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構。

              給定源程序:

              #include

              #include

              double fun(double eps)

              { double s,t; int n=1;

              s=0.0;

              t=0;

              while( t>eps)

              { s+=t;

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

              n++;

              }

              return(s);

              }

              main()

              { double x;

              printf("\nPlease enter a precision: "); scanf("%lf",&x);

              printf("\neps=%lf, Pi=%lf\n\n",x,fun(x));

              }

              解題思路:

              第一處: 初始化t的值,根據程序中的計算程序和試題的要求得出,t應為1。

              第二處: 根據公式π/2得出,所以返回時應原有s的基礎上乘以2作為返回值。

              編程題

              假定輸入的字符串中只包含字母和*號。請編寫函數fun,它的功能是:使字符串的前導*號不得多于n個;若多于n個,則刪除多余的*號; 若少于或等于n個,則什么也不做,字符串中間和尾部的*號不刪除。函數fun中給出的語句僅供參考。例如,字符串中的內容為:*******A*BC*DEF*G****,若n的值為4,刪除后,

              字符串中的內容應當是:****A*BC*DEF*G****;若n的值為8,則字符串中的內容仍

              為:*******A*BC*DEF*G****。n的值在主函數中輸入。 在編寫函數時,不得使用C語言提供的字符串函數。

              注意: 部分源程序在文件PROG1.C文件中。

              請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入

              你編寫的若干語句。

              給定源程序:

              #include

              void fun( char *a, int n )

              {

              int i=0,j,k=0;

              while(a[k]=='*') k++; /* k為統計*字符個數 */

              if(k>n)

              {

              i=n;j=k;

              /* 以下完成將下標為k至串尾的字符前移k-n個位置 */

              }

              }

              main()

              { char s[81]; int n;

              printf("Enter a string:\n");gets(s);

              printf("Enter n : ");scanf("%d",&n);

              fun( s,n );

              printf("The string after deleted:\n");puts(s);

              NONO();

              }

              解題思路:

              本題是考察字符串的操作。

              利用for循環來判斷a[j]的字符是否是字符串結束符,如果不是字符串結束符,則把a[j]

              的字符依次存放到a[i]。其中,變量i是n的初始值,變量j是字符串前導的*號數。

              參考答案:

              void fun( char *a, int n )

              {

              int i=0,j,k=0;

              while(a[k]=='*') k++; /* k為統計*字符個數 */

              if(k>n)

              {

              i=n;j=k;

              /* 以下完成將下標為k至串尾的字符前移k-n個位置 */

              for(; a[j] !=0 ; j++)

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

              a[i] = 0;

              }

              }

            【計算機二級C語言上機模擬試題及解題思路】相關文章:

            2015年計算機二級《C語言》上機模擬試題06-07

            2015年計算機二級C語言考試上機模擬試題12-24

            計算機二級C語言上機模擬題02-14

            計算機二級C語言上機沖刺試題及答案05-26

            計算機二級C語言模擬試題03-20

            2016計算機二級C++上機模擬試題及答案07-16

            計算機二級C語言上機精選模擬題及答案03-22

            計算機二級C語言考前預測上機試題及解析07-04

            計算機二級《C語言》上機操作試題及答案06-02

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院