亚洲国产福利在线一二三观看_精品国产伦一区二区三区欲臀_国产a∨视频精品视频护士_精品八戒人妻少妇av

江蘇省高校計(jì)算機(jī)等級(jí)考試命題研究院 江蘇省高校計(jì)算機(jī)等級(jí)考試輔導(dǎo)
2011春江蘇省計(jì)算機(jī)二級(jí)C上機(jī)真題1

 

    二級(jí)C語言上機(jī)試卷

    (本試卷完成時(shí)間為70分鐘)

    一、改錯(cuò)題(16)

    【程序功能】

    對(duì)存儲(chǔ)在string數(shù)組內(nèi)的英文句子中所有以a開始并以e結(jié)尾的單詞做加密處理。加密規(guī)則:若單詞長度為偶數(shù)個(gè)字符,則將組成該單詞的所有字母循環(huán)左移一次;否則循環(huán)右移一次。例如,單詞able經(jīng)循環(huán)左移一次后變?yōu)?/SPAN>blea;單詞abide經(jīng)循環(huán)右移一次后變?yōu)?/SPAN>eabid。

    【測試數(shù)據(jù)與運(yùn)行結(jié)果】

    測試數(shù)據(jù):she is able to abide her.

    屏幕輸出:she is blea to eabid her.

    【含有錯(cuò)誤的源程序】

    #include <stdio.h>

    #include <ctype.h>

    void wordchange(char str[])

    {  int i,j,k,m; 

       char c;

       for(i=0;str[i];i++)

       {for(j=i,k=i;isalpha(str[k]);k++);

         if(str[j]=='a' || str[k-1]=='e')

           {if((k-j)%2=0)

             {c=str[j];

              for(m=k-1;m>j;m--)

               str[m]=str[m+1];

              str[k-1]=c;

             }

         else

         {c=str[k-1];

          for(m=k-1;m>j;m--)

            str[m]=sty[m-1];

          str[j]=c;

         }

    }

    i=k;

    }    。

  }

  void main()

  { char string[80]="she is able to abide her.";

    wordchange(string[80]);

    puts(string);

  }

    【要求】

  1.將上述程序錄入到文件myf1.c,根據(jù)題目要求及程序中語句之間的邏輯關(guān)系對(duì)程

序中的錯(cuò)誤進(jìn)行修改。

    2.改錯(cuò)時(shí),可以修改語句中的一部分內(nèi)容,調(diào)整語句次序,增加少量的變量說明或編譯預(yù)處理命令,但不能增加其他語句,也不能刪去整條語句。

    3.改正后的源程序(文件名myf1.c)保存在T盤根目錄中供閱卷使用,否則不予評(píng)分。

 二、編程題(24)

    【程序功能】

    矩陣數(shù)據(jù)生成及排序。

    【編程要求】

    1.編寫函數(shù)void cresort(int a[][3],int n)。函數(shù)功能是先根據(jù)a指向的二維數(shù)組中第1(列下標(biāo)為0)和第2(列下標(biāo)為1)的值按下表所列規(guī)則生成第3列各元素的值,再以行為單位重排a數(shù)組的各行,使得所有行按第3列元素值從小到大排列。

  3列生成規(guī)則:

  對(duì)任意的i(0<=i<=n-1):

  

  2.編寫main函數(shù)。函數(shù)功能是聲明53列二維數(shù)組a并用測試數(shù)據(jù)初始化,用數(shù)組a

作為實(shí)參調(diào)用cresort函數(shù),a數(shù)組中的數(shù)據(jù)輸出到屏幕及文件myf2.out中。最后將考生本人的準(zhǔn)考證號(hào)字符串輸出到文件myf2.out中。

    【測試數(shù)據(jù)與運(yùn)行結(jié)果】

    測試數(shù)據(jù):

    27  16     0

    11  12     0

    6    9     0

    7    13    0

    8    5     0

 

屏幕輸出:

27    16    1

 6    9    1

 8    5    2

11    12    3

 7    13    4

【要求】

1.源程序文件名為myf2.C,輸出結(jié)果文件名為myf2.out。

2.數(shù)據(jù)文件的打開、使用、關(guān)閉均用C語言標(biāo)準(zhǔn)庫中緩沖文件系統(tǒng)的文件操作函數(shù)實(shí)現(xiàn)。

3.源程序文件和運(yùn)行結(jié)果文件均需保存在T盤根目錄中供閱卷使用。

4.不要復(fù)制擴(kuò)展名為objexe的文件到T盤中。

    參考答案

一、改錯(cuò)題

    if(str[j]=='a' || str[k-1]=='e')    改為 &&

    if((k-j)%2=0)    改為==

    for(m=k-1;m>j;m--)    改為m=j;m<k-1;m++

    wordchange(string[80]);    改為string

二、編程題

    #include<stdio.h>

    #define N 5

    int isprime(int m)

    {  int i;

       for(i=2;i<=m/2;i++)

         if(m%i==0)return 0;

       retum 1;

    }

    void cresort(int a[][3],int n)

    {  int i,j,k,m,c,t;

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

       {c=isprime(a[i][0])+isprime(a[i][1]);

        switch(c)

        {case 0:a[i][2]=1;break;

         case 2:a[i][2]=4;break;

         case 1:if(isprime(a[i][0]))a[i][2]=3;

                  else a[i][2]=2;break;

        }

    }

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

    {k=i;

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