版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
2025年全國計算機等級考試二級C語言上機題庫及答案程序填空題(共3題)第1題函數(shù)fun的功能是:統(tǒng)計字符串s中各元音字母(即A、E、I、O、U)的個數(shù)(區(qū)分大小寫)。例如,輸入“HelloWorld!AaEe”,則輸出應(yīng)為:A:1E:2I:0O:2U:0。請在程序的下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。```cinclude<stdio.h>voidfun(chars,intcount[]){inti;for(i=0;i<5;i++)count[i]=0;while(___1___){switch(s){case'A':count[0]++;break;case'E':count[1]++;break;case'I':count[2]++;break;case'O':count[3]++;break;case'U':count[4]++;break;case'a':count[0]++;break;case'e':count[1]++;break;case'i':count[2]++;break;case'o':count[3]++;break;case'u':count[4]++;break;}___2___;}}intmain(){chars[80];intcount[5],i;printf("請輸入字符串:");gets(s);fun(s,count);printf("A:%dE:%dI:%dO:%dU:%d\n",count[0],count[1],count[2],count[3],count[4]);return0;}```第2題函數(shù)fun的功能是:將一個3×3的二維數(shù)組轉(zhuǎn)置(即行列互換)。例如,輸入數(shù)組:123456789轉(zhuǎn)置后的數(shù)組應(yīng)為:147258369請在程序的下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。```cinclude<stdio.h>voidfun(inta[3][3]){inti,j,t;for(i=0;i<3;i++)for(j=i+1;j<3;j++){t=a[i][j];___3___;a[j][i]=t;}}intmain(){inta[3][3],i,j;printf("請輸入3x3矩陣(每行3個數(shù),用空格分隔):\n");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%d",&a[i][j]);fun(a);printf("轉(zhuǎn)置后的矩陣:\n");for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%d",a[i][j]);printf("\n");}return0;}```第3題函數(shù)fun的功能是:計算正整數(shù)n的所有因子(不包括1和自身)之和。例如,n=6時,因子為2、3,和為5;n=12時,因子為2、3、4、6,和為15。若n小于等于3,則返回0(因為沒有符合條件的因子)。請在程序的下劃線處填入正確的內(nèi)容并將下劃線刪除,使程序得出正確的結(jié)果。```cinclude<stdio.h>intfun(intn){intsum=0;if(n<=3)___4___;for(inti=2;i<n;i++)if(___5___)sum+=i;returnsum;}intmain(){intn;printf("請輸入一個正整數(shù):");scanf("%d",&n);printf("因子和為:%d\n",fun(n));return0;}```程序修改題(共2題)第1題給定程序中,函數(shù)fun的功能是:計算兩個整數(shù)a和b的最大公約數(shù)。但程序存在錯誤,請修改錯誤部分,使程序正確運行。```cinclude<stdio.h>intfun(inta,intb){intr,t;if(a<b){t=a;a=b;b=t;}r=a%b;while(r!=0){a=b;b=r;r=a%b;}returna;}intmain(){intx,y;printf("請輸入兩個整數(shù):");scanf("%d%d",&x,&y);printf("最大公約數(shù):%d\n",fun(x,y));return0;}```第2題給定程序中,函數(shù)fun的功能是:將字符串s中所有數(shù)字字符移到非數(shù)字字符之后。例如,輸入“ab12c34”,處理后應(yīng)為“abc1234”。但程序存在錯誤,請修改錯誤部分,使程序正確運行。```cinclude<stdio.h>include<string.h>voidfun(chars){inti,j=0,n;chart[80];n=strlen(s);for(i=0;i<n;i++)if(s[i]>='0'&&s[i]<='9'){t[j]=s[i];j++;}t[j]='\0';strcpy(s,t);}intmain(){chars[80];printf("請輸入字符串:");gets(s);fun(s);printf("處理后:%s\n",s);return0;}```程序設(shè)計題(共2題)第1題編寫函數(shù)fun,其功能是:統(tǒng)計一個整數(shù)n的二進制表示中1的個數(shù)。例如,n=5(二進制101),返回2;n=8(二進制1000),返回1。注意:n為非負(fù)整數(shù)。第2題編寫程序,從鍵盤輸入5個員工的信息(包括姓名、工號、月薪),存入結(jié)構(gòu)體數(shù)組中,然后按月薪從高到低排序,最后輸出排序后的員工信息(要求姓名、工號、月薪對齊顯示)。提示:結(jié)構(gòu)體定義如下:```cstructEmployee{charname[20];intid;floatsalary;};```參考答案程序填空題答案1.`s!='\0'`(或`s`)解析:while循環(huán)的條件是字符串未到末尾,即當(dāng)前字符不為空字符`'\0'`。2.`s++`解析:每次循環(huán)后指針后移,遍歷下一個字符。3.`a[i][j]=a[j][i]`解析:轉(zhuǎn)置的核心是交換a[i][j]和a[j][i](i<j時避免重復(fù)交換)。4.`return0`解析:題目要求n≤3時返回0。5.`n%i==0`解析:i是n的因子的條件是n能被i整除。程序修改題答案第1題錯誤:原程序邏輯正確,但當(dāng)輸入a和b相等時,循環(huán)不會執(zhí)行,直接返回a(正確)。經(jīng)檢查,原程序無錯誤?實際測試發(fā)現(xiàn),當(dāng)輸入a=0時會出錯,但題目假設(shè)輸入為正整數(shù)。可能原題錯誤為“r=a%b”應(yīng)放在循環(huán)內(nèi)?正確修改:無明顯錯誤,可能題目設(shè)定錯誤為“當(dāng)a<b時交換后,初始r應(yīng)重新計算”。正確代碼應(yīng)為:```cintfun(inta,intb){intr,t;if(a<b){t=a;a=b;b=t;}while((r=a%b)!=0){//將r的計算放入循環(huán)條件a=b;b=r;}returnb;//最終公約數(shù)是b,不是a}```第2題錯誤:原程序只保留了數(shù)字字符,非數(shù)字字符被丟棄。正確邏輯應(yīng)為:先將非數(shù)字字符存入前半部分,再將數(shù)字字符接在后面。修改后的fun函數(shù):```cvoidfun(chars){inti,j=0,k=0,n;chart[80];n=strlen(s);for(i=0;i<n;i++){//先存非數(shù)字字符if(!(s[i]>='0'&&s[i]<='9')){t[j]=s[i];j++;}}for(i=0;i<n;i++){//再存數(shù)字字符if(s[i]>='0'&&s[i]<='9'){t[j]=s[i];j++;}}t[j]='\0';strcpy(s,t);}```程序設(shè)計題答案第1題:```cintfun(intn){intcount=0;while(n>0){if(n&1)//檢查最低位是否為1count++;n>>=1;//右移一位}returncount;}```第2題:```cinclude<stdio.h>include<string.h>structEmployee{charname[20];intid;floatsalary;};voidsortEmployees(structEmployeeemp[],intn){structEmployeetemp;for(inti=0;i<n-1;i++){for(intj=0;j<n-i-1;j++){if(emp[j].salary<emp[j+1].salary){//降序排序temp=emp[j];emp[j]=emp[j+1];emp[j+1]=temp;}}}}intmain(){structEmployeeemp[5];printf("請輸入5個員工信息(姓名工號月薪):\n");for(inti=0;i<5;i++){scanf("%s%d%f",emp[i].name,&emp[i].id,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 規(guī)范部門間協(xié)調(diào)配合制度
- 冷庫出入制度規(guī)范要求
- 廣場地磚保養(yǎng)制度規(guī)范
- 停車規(guī)范要求制度標(biāo)準(zhǔn)
- 自然資源局行政制度規(guī)范
- 互聯(lián)網(wǎng)水管理制度規(guī)范
- 公益機構(gòu)規(guī)范管理制度
- 一建消防審查制度規(guī)范
- 四個規(guī)范議事決策制度
- 安徽油罐清洗制度規(guī)范
- 2025建筑工地食堂承包合同范本
- 水利工程安全生產(chǎn)六項機制實施方案
- 高滲高血糖綜合征的護理
- 化妝品物料審查管理制度
- 我國商業(yè)銀行風(fēng)險限額管理體系:構(gòu)建、實踐與優(yōu)化路徑探究
- 3ds Max產(chǎn)品模型制作課件 項目2 初識3ds Max 2021軟件
- 化工總控工職業(yè)技能鑒定考試題庫大全-上(單選題)
- 中華人民共和國安全生產(chǎn)法培訓(xùn)課件
- TCAMET 《城市軌道交通 車輛表面貼膜》編制說明(征求意見稿)
- 醫(yī)療衛(wèi)生機構(gòu)網(wǎng)絡(luò)安全管理辦法
- 《保健食品標(biāo)識培訓(xùn)》課件
評論
0/150
提交評論