




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
模擬試題(一)1.填空題請補充函數(shù)fun(),該函數(shù)的功能是:把從主函數(shù)中輸入的字符串str2接在字符串str1的后面。例如:str1=〞Howdo〞,str2=〞youdo?〞,結果輸出:Howdoyoudo?注意:部分源程序給出如下。請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的橫線上填入所編寫的假設干表達式或語句。試題程序:}答案及評析:【1】*(p1+i) 【2】*p2 【3】*p2++【解析】填空1:變量i用來記錄字符串str1的長度,當指針指到字符串str1結束標志符‘\0'時,while循環(huán)結束,變量i停止累加。填空2:指針p2指向字符串str2,通過for循環(huán)將字符串str2接在str1后面,循環(huán)結束的條件是指針p2所指的字符是字符串結束標志符‘\0'。填空3:指針p2最初指向字符串str2的首字符,通過自加1,使指針p2依次向后移動,指向str2的各個字符,實現(xiàn)將字符串str2接在str1后面的功能。2.改錯題以下給定程序中,函數(shù)fun()的作用是:將字符串tt中的小寫字母都改為對應的大寫字母,其他字符不變。例如,假設輸入"edS,dAd",那么輸出"EDS,DAD"。請改正程序中的錯誤,使它能得到正確結果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結構。試題程序:#include<stdio.h>#include<string.h>#include<conio.h>/**********************found***********************/charfun(chartt[]){inti;for(i=0;tt[i];i++){/**********************found***********************/if((tt[i]>='A')&&(tt[i]<='Z'))tt[i]-=32;}return(tt);}main(){inti;chartt[81];clrscr();printf("\nPleaseenterastring:");gets(tt);printf("\nTheresultstringis:\n%s",fun(tt));}答案及評析:〔1〕錯誤:charfun(chartt[])正確:char*fun(chartt[])〔2〕錯誤:if((tt[i]>='A')&&(tt[i]<='Z'))正確:if((tt[i]>='a')&&(tt[i]<='z'))【解析】錯誤1:函數(shù)的返回值是字符串的首地址,是指針類型,所以在函數(shù)名前要加'*'號。錯誤2:題目要求將小寫字母改為大寫字母,所以if語句的判斷條件是小寫字母。3.編程題請編寫函數(shù)fun(),該函數(shù)的功能是:移動一維數(shù)組中的內(nèi)容,假設數(shù)組中有n個整數(shù),要求把下標從p到n-1〔p≤n-1〕的數(shù)組元素平移到數(shù)組的前面。例如,一維數(shù)組中的原始內(nèi)容為1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,p的值為6。移動后,一維數(shù)組中的內(nèi)容應為7,8,9,10,10,11,12,13,14,15,1,2,3,4,5,6。注意:部分源程序給出如下。請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的假設干語句。試題程序:#include<stdio.h>#defineN80voidfun(int*w,intp,intn){}main(){inta[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};inti,p,n=15;printf("Theoriginaldata:\n");for(i=0;i<n;i++)printf("%3d",a[i]);printf("\n\nEnterp:");scanf("%d",&p);fun(a,p,n);printf("\nThedataaftermoving:\n");for(i=0;i<n;i++)printf("%3d",a[i]);printf("\n\n");}答案及評析:voidfun(int*w,intp,intn){inti,j,t;for(i=p;i<=n-1;i++)/*循環(huán)右移n-p次*/{t=w[n-1];for(j=n-2;j>=0;j--)/*實現(xiàn)循環(huán)右移*/w[j+1]=w[j];w[0]=t;}}【解析】此題采用"循環(huán)右移"的算法。和我們在前面分析的稍有不同的是,一個是整型數(shù)組,一個是字符型數(shù)組。模擬試題(二)1.填空題請補充函數(shù)fun(),該函數(shù)的功能是求一維數(shù)組*[N]的平均值,并對所得結果進行四舍五入〔保留兩位小數(shù)〕。例如:當*[10]={15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0},結果為:avg=15.030000。注意:部分源程序給出如下。請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的橫線上填入所編寫的假設干表達式或語句。試題程序:}答案及評析:【1】sum+=*[i] 【2】avg*1000 【3】(avg+5)/10【解析】填空1:通過for循環(huán)求出10個數(shù)的累加和,存于變量sum中。填空2:為了實現(xiàn)四舍五入保留兩位小數(shù)的功能,應將平均值先擴大1000倍。填空3:將平均值加上5,再除以10,實現(xiàn)四舍五入的功能。2.改錯題以下給定程序中,函數(shù)fun()的功能是:先從鍵盤上輸入一個3行3列的矩陣的各個元素的值,然后輸出主對角線元素之積。請改正函數(shù)fun()中的錯誤,使它能得出正確的結果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結構。試題程序:#include<stdio.h>intfun(){inta[3][3],mul;inti,j;mul=1;for(i=0;i<3;i++){/**********************found***********************/for(i=0;j<3;j++)scanf("%d",&a[i][j]);}for(i=0;i<3;i++)/**********************found***********************/mul=mul*a[i][j];printf("Mul=%d\n",mul);}main(){fun();}答案及評析:〔1〕錯誤:for(i=0;j<3;j++)正確:for(j=0;j<3;j++)〔2〕錯誤:mul=mul*a[i][j];正確:mul=mul*a[i][i];【解析】錯誤1:循環(huán)結構中,要給變量j賦初值0。錯誤2:主對角元素的行號和列號相等,所以參加乘法的是a[i][i],而不是a[i][j]。3.編程題學生的記錄由學號和成績組成,N名學生的數(shù)據(jù)已在主函數(shù)中放入結構體數(shù)組s中,請編寫函數(shù)fun(),它的功能是:把分數(shù)最低的學生數(shù)據(jù)放在h所指的數(shù)組中。注意:分數(shù)低的學生可能不只一個,函數(shù)返回分數(shù)最低學生的人數(shù)。注意:部分源程序給出如下。請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的假設干語句。試題程序:#include<stdio.h>#defineN16typedefstruct{charnum[10];ints;}STREC;intfun(STREC*a,STREC*b){}main(){STRECs[N]={{"GA005",82},{"GA003",75},{"GA002",85},{"GA004",78},{"GA001",95},{"GA007",62},{"GA008",60},{"GA006",85},{"GA015",83},{"GA013",94},{"GA012",78},{"GA014",97},{"GA011",60},{"GA017",65},{"GA018",60},{"GA016",74}};STRECh[N];inti,n;FILE*out;n=fun(s,h);printf("The%dlowestscore:\n",n);for(i=0;i<n;i++)printf("%s%4d\n",h[i].num,h[i].s);/*輸出最低分學生的學號和成績*/printf("\n");out=fopen("out19.dat","w");fprintf(out,"%d\n",n);for(i=0;i<n;i++);fprintf(out,"%4d\n",h[i].s);fclose(out);}答案及評析:intfun(STREC*a,STREC*b){inti,j=0,min=a[0].s;for(i=0;i<N;i++)if(min>a[i].s)min=a[i].s;/*找出最小值*/for(i=0;i<N;i++)if(min==a[i].s)b[j++]=a[i];/*找出成績與min相等的學生的記錄,存入結構體b中*/returnj;/*返回最低成績的學生人數(shù)*/}【解析】該程序使用循環(huán)嵌套,第1個for語句的作用是找出最小值。第2個循環(huán)的作用是找出與min相等的成績,也即最低成績的學生記錄,并存入b中。模擬試題(三)1.填空題請補充函數(shù)fun(),該函數(shù)的功能是:從‘a(chǎn)’到‘z’統(tǒng)計一個字符串中所有字母字符各自出現(xiàn)的次數(shù),結果保存在數(shù)組alf中。注意:不區(qū)分大小寫,不能使用字符串庫函數(shù)。例如,輸入:〞A=abc+5*c〞,結果為:a=2,b=1,c=2。注意:部分源程序給出如下。請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的橫線上填入所編寫的假設干表達式或語句。試題程序:}答案及評析:【1】alf[i]=0 【2】*p+=32 【3】p++【解析】填空1:數(shù)組alf[26]用來存放字母字符出現(xiàn)的次數(shù),在使用之前需要清零。填空2:題目要求不區(qū)分大小寫,所以可以先將所有的大寫字母都轉(zhuǎn)換為對應的小寫字母,然后一并記錄出現(xiàn)的次數(shù)。將大寫字母轉(zhuǎn)換為對應的小寫字母,只需將ASCII碼加上32就可以了。填空3:指針p指向字符串tt,通過p自加1來移動指針,訪問字符串中的所有字符。2.改錯題以下給定程序中函數(shù)fun()的功能是:從低位開始取出長整型變量s中奇數(shù)位上的數(shù),依次構成一個新數(shù)放在t中。例如,當s中的數(shù)為4576235時,t中的數(shù)為4725。請改正程序中的錯誤,使它能得到正確結果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結構。試題程序:#include<stdio.h>#include<conio.h>/**********************found***********************/intfun(longs,long*t){longs1=10;*t=s%10;while(s>0){/**********************found***********************/s=s%100;*t=s%10*s1+*t;s1=s1*10;}}main(){longs,t;clrscr();printf("\nPleaseenters:");scanf("%ld",&s);fun(s,&t);printf("Theresultis:%ld\n",t);}答案及評析:〔1〕錯誤:intfun(longs,long*t)正確:voidfun(longs,long*t)〔2〕錯誤:s=s%100;正確:s=s/100;【解析】錯誤1:函數(shù)由指針來完成參數(shù)的傳遞,所以沒有返回值,應定義函數(shù)的類型為void。錯誤2:此處要注意特殊運算符號"%"--取余和"/"--整除的區(qū)別。將一個數(shù)整除100那么可得到由其百位數(shù)以上的數(shù)組成的新數(shù)字,將一個數(shù)整除100取余那么可得到由十位數(shù)和個位數(shù)組成的新數(shù)。3.編程題請編寫一個函數(shù)fun(),它的功能是:求出一個4×M整型二維數(shù)組中最小元素的值,并將此值返回調(diào)用函數(shù)。注意:部分源程序給出如下。請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的假設干語句。試題程序:#defineM4#include<stdio.h>fun(inta[][M]){}main(){intarr[4][M]={11,3,9,35,42,-4,24,32,6,48,-32,7,23,34,12,-7};printf("min=%d\n",fun(arr));}答案及評析:fun(inta[][M]){inti,j,min=a[0][0];for(i=0;i<4;i++)for(j=0;j<M;j++)if(min>a[i][j])min=a[i][j];/*求出二維數(shù)組的最小值*/returnmin;}【解析】此類求最大值或最小值的C語言問題,我們可以采用逐個比較的方式。要求數(shù)組中的所有元素走動一遍,并從中找出最大、最小值,要注意一開始應使min存放數(shù)組中的第一個元素的值??砂粗鹦胁檎乙部砂粗鹆胁檎业姆绞?,此題采用的是逐行查找的方式。即行下標在外層循環(huán),列下標在內(nèi)層循環(huán),因為在循環(huán)的嵌套中越在內(nèi)層循環(huán),循環(huán)變化就越快。模擬試題(四)1.填空題請補充函數(shù)fun(),該函數(shù)的功能是:分類統(tǒng)計一個字符串中元音字母和其他字符的個數(shù)〔不區(qū)分大小寫〕。例如,輸入aeiouAOUpqrt,結果為A:2E:1I:1O:2U:2other:4。注意:部分源程序給出如下。請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的橫線上填入所編寫的假設干表達式或語句。試題程序:}答案及評析:【1】bb[i]=0 【2】bb[5]++ 【3】p++;【解析】填空1:數(shù)組bb[6]用來存放5個元音字母和其他字符的個數(shù),在使用之前需要清零。填空2:數(shù)組元素bb[5]用來存放其他字符的個數(shù),當指針p所指的字符不是元音字母時,那么認為是其他字符,bb[5]加1。填空3:指針p指向字符串str,通過p自加1來移動指針,訪問字符串中的所有字符。2.改錯題以下給定的程序中,函數(shù)fun()的功能是:計算并輸出k以內(nèi)最大的6個能被7或11整除的自然數(shù)之和。K的值由主函數(shù)傳入,假設k的值為500,那么函數(shù)的值為2925。請改正程序中的錯誤,使它能得到正確結果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結構。試題程序:#include<stdio.h>#include<conio.h>intfun(intk){intm=0,mc=0,j;/**********************found***********************/while(k>=2)&&(mc<6){/**********************found***********************/if((k%7=0)||(k%11=0)){/**********************found***********************/m=k;mc++;}k--;}returnm;}main(){clrscr();printf("%d\n",fun(500));}答案及評析:〔1〕錯誤:while(k>=2)&&(mc<6)正確:while((k
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年翻譯筆項目申請報告
- 商業(yè)計劃書商業(yè)模型與財務預測工具
- 2025年納米抗菌管項目提案報告
- 2025年洮南市面向社會公開招聘化工園區(qū)特勤站政府專職消防員聘用人員考前自測高頻考點模擬試題及一套完整答案詳解
- 2025遼寧沈陽盛京資產(chǎn)管理集團有限公司所屬子公司沈陽國際陸港集團有限責任公司擬聘用人員模擬試卷及答案詳解(奪冠系列)
- 產(chǎn)品質(zhì)量升級保證承諾書3篇
- 山東省日照市2024-2025學年高二上學期開學考試地理試題(解析版)
- 企業(yè)員工手冊編寫及內(nèi)容模板
- 小貓的日記我的寵物寫物7篇
- 員工請假與加班審批流程模板
- 【《基于Java Web的網(wǎng)絡題庫和考試系統(tǒng)設計與實現(xiàn)》8900字(論文)】
- 學堂在線 實驗室安全教育 章節(jié)測試答案
- 醫(yī)院應急知識培訓課件
- 2025-2030中國抗骨質(zhì)疏松藥物市場調(diào)研及未來增長預測報告
- 2025年注冊道路工程師執(zhí)業(yè)資格基礎考試應試輔導(公共基礎)(上下冊)
- 終極焊工考試試題及答案
- 國家能源安慶市2025秋招能源與動力工程類面試追問及參考回答
- 房屋安全性鑒定培訓試題及答案解析
- 2025廣西南寧上林縣公安局面向社會招聘警務輔助人員50人筆試備考試題及答案解析
- 2025年知識產(chǎn)權普法知識競賽題庫附答案
- 黑龍江省齊齊哈爾市富拉爾基區(qū)2024-2025學年高一上學期期中考試生物試題含參考答案
評論
0/150
提交評論