考試頻道小編收集整理計算機等級考試資料,免費提供給大家交流參考。
第二十一套
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]=’