糯米文學吧

位置:首頁 > 英語 > 等級考試

2012年3月全國計算機等級考試二級C語言上機題庫(20~30套)

考試頻道小編收集整理計算機等級考試資料,免費提供給大家交流參考。
  第二十一套

2012年3月全國計算機等級考試二級C語言上機題庫(20~30套)

1. 程序填空

給定程序中,函數fun的功能是:在形參ss所指字符串數組中,將所有串長超過k的字符串右邊的字符刪去,只保留左邊的k個字符。ss所指字符串數組中共有N個字符串,且串小於M。

第一處 void fun(char (*ss)[M], int k)

第二處 while (i

第三處 ss[i][k]=0;i++;}

2. 程序修改

給定程序MODI1.C中函數fun的功能是:根據以下公式求π值,並作為函數值返回。例如,給指定精度的變量eps輸入0.0005時,應當輸出Pi=30140578.。

/**found**/

t=1;

/**found**/

return(2*s);

3. 程序設計

假定輸入字符串中只包含字母和*號。請編寫函數fun,它的功能是:將字符串的前導*號不得多於n個;若多於n個,則刪除多餘的*號;若少於或等於n個,則什麼也不做,字符串中間和尾部的*號不刪除。函數fun中給出的語句僅供參考。

void fun(char*a,int n)

{

int i=0,k=0;

while(a[k]= =’*’)k++;

if(k>n)

{

i=n;j=k;

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

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

a[i]=0;

}}

第二十二套

1. 程序填空

給定程序中,函數fun的功能是:a所指4×3矩陣中第k行的元素與第0行元素交換。例如:有下列矩陣

1 2 3

4 5 6

7 8 9

10 11 12

若k為2,程序執行結果為

7 8 9

4 5 6

1 2 3

10 11 12

第一處 void fun(int (*a)[N],int k)

第二處 for(i=0;i

第三處 a[0][i]=a[k][i];

2. 程序修改

給定程序MODI1.C中函數fun的功能是:讀入一個字符串(長度<20),將該字符串中的所有字符串按ASCII碼升序排序後輸出。例如,若輸入edcba,則應輸出:abcde。

/**found**/

for(i=strlen(t)-1;i;i--)

/**found**/

if(t[j]>t[j+1])

3. 程序設計

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

void fun(char *ss)

{

char *p=ss;

inr i=0;

while(*p){

if((i%2)&&(*p>=’a’ &&*p<=’z’))

*p-=32;

p++;

i++;

}

}

第二十三套

1. 程序填空

給定程序的功能是:調用函數fun將指定源文件中的內容複製到指定的目標文件中,複製成功時函數的返回值是1,失敗是返回值是0.在複製的過程中,把複製的內容輸出到終端屏幕。主函數源文件名放在變量sfname中,目標文件放在變量tfname中。

第一處

if((fs=fopen(source,”r”))==NULL)

第二處 while(!feof(fs))

第三處 fputc(ch,ft);

2. 程序修改

給定程序MODI1.C中函數fun的功能是:將長整型中每一位上為偶數的數依次取出,構成一個新數放在t中。高位仍在高位,低位仍在低位。

/**found**/

if(d%2==0)

/**found**/

s/=10;

3. 程序設計

函數fun的功能是:將兩位正整數a、b合併形成一個新的整數放在c中。合併的方式是:將a中的十位和個位依次放在變量c的十位和千位上,b中的十位和個位數依次放在變量c的百位和個位上。

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

{

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

第二十四套

1. 程序填空

程序通過定義學生結構體變量,存儲了學生的學號、姓名和三門課的成績。函數fun的功能是將形參a所指結構體變量中的數據賦給函數中的結構體變量b,並修改b中的`學號和姓名,最後輸出修改後的數據。

第一處 b=a;

第二處 strcpy(,”LiSi”)

第三處 for (i=0;i<3;i++)

printf(“%6.2f”,e[i]);

2. 程序修改

給定程序MODI1.C中函數fun的功能是:從s所指字符串中刪除所有小寫字母c。請改正程序中的錯誤,使它能計算出正確的結果。

/**found**/

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

/**found**/

s[j]=’