高級語言程序設(shè)計(jì)模擬試題_第1頁
高級語言程序設(shè)計(jì)模擬試題_第2頁
高級語言程序設(shè)計(jì)模擬試題_第3頁
高級語言程序設(shè)計(jì)模擬試題_第4頁
高級語言程序設(shè)計(jì)模擬試題_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1.輸入兩個整數(shù),要求用兩個函數(shù)求出其最大條約數(shù)和最小公倍數(shù),最大條約數(shù)和最小公倍數(shù)都在主函數(shù)中輸出。如:輸入36和60,輸出為:zdgys=12,zxgbs=1802.輸入4個整數(shù),找出其中最大數(shù)。用函數(shù)嵌套調(diào)用來處理。3.用遞歸調(diào)用方法求n!。如:輸入為5,輸出為5!=120。4.按以下遞歸公式求函數(shù)值。比如,當(dāng)給n輸入5時,輸出為resultis18,(要求用遞歸實(shí)現(xiàn),而且輸入和輸出都要在主函數(shù)中實(shí)現(xiàn))。5.用遞歸法將一個整數(shù)n轉(zhuǎn)換成字符串。(n為不超出6為整數(shù))如輸入為483,輸出為:轉(zhuǎn)換后字符串為:483;如輸入為-13579,輸出為:轉(zhuǎn)換后字符串為:-13579。注意:輸入和輸出都要在主函數(shù)中實(shí)現(xiàn)。6.寫一個函數(shù),完成將任意一個數(shù)組中值按逆序重新存放。(數(shù)組長度不超出6位)要求:數(shù)組內(nèi)容輸入和重新存放后輸出都要在主函數(shù)中實(shí)現(xiàn)。如:輸入內(nèi)容為5個整數(shù),分別為86541,重新存放后輸出為:theresultis1,4,5,6,8。7.編寫一個函數(shù),用來分別求數(shù)組score_1(有5個元素)和數(shù)組score_2(有10個元素)各元素平均值。要求:輸入和輸出都要在主函數(shù)中實(shí)現(xiàn)。如:輸入第一個數(shù)組內(nèi)容為:12345,第二個數(shù)組內(nèi)容為:2468101214161820,輸出分別為3和11。8.編寫一個函數(shù),實(shí)現(xiàn)將兩個字符串連接起來,并在main函數(shù)中調(diào)用此函數(shù),不要調(diào)用系統(tǒng)提供strcat函數(shù)。(兩個字符串長度之和不超出100)如:輸入第一個字符串為Ilove,第二個字符串為:mymotherland,則輸出為Ilovemymotherland。9.編寫完成fun函數(shù),比較兩個字符串大小,并在main函數(shù)中調(diào)用此函數(shù),不要調(diào)用strcmp函數(shù)。要求:輸入和輸出都要在主函數(shù)中實(shí)現(xiàn)。如:依照輸入不一樣輸入內(nèi)容,對應(yīng)輸出“兩個字符串相等”、“第一個字符串大”、“第二個字符串大”。#include<stdio.h>#include<string.h>intfun(chara[],charb[]) {printf("兩個字符串相等”); }intmain(){ chara[100],b[100],i; gets(a);gets(b); i=fun(a,b); switch(i) {case0:printf("第一個字符串大\n");break; case1:printf("第二個字符串大\n");break;default:printf("兩個字符串相等\n"); } return0;}10.編寫一個函數(shù),實(shí)現(xiàn)在一個升序排列整型數(shù)組{1,3,5,7,14,23,45,87,155,231};中插入任意一個整數(shù)功效,保持整型數(shù)組依然升序排列,并在main函數(shù)中調(diào)用此函數(shù),輸入數(shù)據(jù)和最終輸出都在主函數(shù)中實(shí)現(xiàn)。#include<stdio.h>inta[11]={1,3,5,7,14,23,45,87,155,231};intmain(){ intc,i; voidfun(inta[],intc); printf("inputaninteger:");scanf("%d",&c); fun(a,c);for(i=0;i<11;i++) printf("%d",a[i]); printf("\n"); return0;}voidfun(inta[],intt) { }11.編寫一個判斷素?cái)?shù)函數(shù),在主函數(shù)輸入一個整數(shù),是素?cái)?shù)時輸出yes,不然輸出no,結(jié)果要求在主函數(shù)中輸出。12.編寫一個函數(shù),將一個字符串中原音字母賦值到另一個字符串中,并在main函數(shù)中調(diào)用此函數(shù),輸入數(shù)據(jù)和最終輸出都在主函數(shù)中實(shí)現(xiàn)。13.建立動態(tài)數(shù)組,輸入5個學(xué)生成績,統(tǒng)計(jì)低于60分學(xué)生成績個數(shù),要求輸入和輸出功效在主函數(shù)中完成。14.有一個一維數(shù)組score,內(nèi)放10個學(xué)生成績,編寫完成ave函數(shù)求平均成績,并將10個成績中不及格(小于60)成績和該成績在數(shù)組中序號輸出。#include<stdio.h>intmain(){ voidave(inta[10]); inta[10],i; for(i=0;i<10;i++) scanf("%d",&a[i]); ave(a); return0;} voidave(inta[10]) { }15.編程實(shí)現(xiàn):編寫完成retu函數(shù),實(shí)現(xiàn)統(tǒng)計(jì)第二個字符串在第一個字符串中出現(xiàn)次數(shù),在主函數(shù)中調(diào)用統(tǒng)計(jì)函數(shù)并輸出結(jié)果。如:第一個字符串為sdjfzhyishgzhyzhyiswzxmt,第二個字符串為zhy,輸出結(jié)果為:3#include<stdio.h>#include<string.h>intmain(){ intretu(chara[],charb[]); charc[200],d[100]; gets(c); gets(d); printf("出現(xiàn)次數(shù)為:%d\n",retu(c,d)); return0;}intretu(chara[],charb[]){ }16.編寫一程序,實(shí)現(xiàn)從鍵盤接收一個字符串,然后刪除其中空格后并輸出。如:輸入“Iamastudent!”,輸出“Iamastudent!”,要求用指針實(shí)現(xiàn)。17.用冒泡法實(shí)現(xiàn)對10個整數(shù)按從大到小次序排序輸出(要求用指針實(shí)現(xiàn))。18.用選擇法實(shí)現(xiàn)對10個整數(shù)按從小到大次序排序輸出(要求用指針實(shí)現(xiàn))。19.編寫一個函數(shù)實(shí)現(xiàn)字符串復(fù)制功效,不能使用strcpy函數(shù),并在

main函數(shù)中調(diào)用,輸入字符串和輸出賦值完后字符串結(jié)果都在主函數(shù)中實(shí)現(xiàn)。(要求用指針作為函數(shù)參數(shù))20.寫一函數(shù),求一個字符串長度。在main函數(shù)中輸入字符串,并輸出其長度。(要求用指針實(shí)現(xiàn))21.輸入一個字符串,內(nèi)有數(shù)字和非數(shù)字字符,比如:“A123x45617960?302tab5876”,將其中連續(xù)數(shù)字作為一個整數(shù),依次存在到一數(shù)組a中。比如,123放在a[0],456放在a[1]……統(tǒng)計(jì)共有多少個整數(shù),并輸出這些數(shù)。(要求用指針實(shí)現(xiàn))如:輸入A123x45617960?302tab5876,輸出為共有5個整數(shù),分別為123,456,17960,302,5876。22.有一篇文章,共有4行文章,每行有10個字符。要求分別統(tǒng)計(jì)出其中英文大寫字符、小寫字母、數(shù)字、空格以及其余字符個數(shù)。(要求用指針實(shí)現(xiàn))23.編程實(shí)現(xiàn)從鍵盤輸入任意十個字符串,找出并顯示最長那個字符串。(要求用指針知識實(shí)現(xiàn))24.編寫完成fun函數(shù)實(shí)現(xiàn)以下功效:從鍵盤輸入任意一個正整數(shù),求出它偶數(shù)因子,并按從小到大次序放在pp所指數(shù)組中,這些因子個數(shù)經(jīng)過形參n返回。(自定義函數(shù)voidfun(intx,int*pp,int*n))。#include<stdio.h>intmain(){ voidfun(intx,int*pp,int*n); intx,a[100],*pp=a,n; scanf("%d",&x); fun(x,pp,&n); return0;}voidfun(intx,int*pp,int*n){ }25.編寫一個函數(shù),實(shí)現(xiàn)求出一個二維數(shù)組中鞍點(diǎn),并在main函數(shù)中調(diào)用此函數(shù),二維數(shù)組中數(shù)據(jù)輸入和鞍點(diǎn)數(shù)據(jù)輸出都在主函數(shù)中實(shí)現(xiàn)。(鞍點(diǎn)是指某個數(shù)在該行上最大,同時在該列上最小)26.輸入3個學(xué)生4門課成績,分別用aver_stu和aver_cour函數(shù)實(shí)現(xiàn)以下功效:(1)計(jì)算每個學(xué)生平均分;計(jì)算每門課平均分;#include<stdio.h>intscore[3][4];inta_stu[3],a_cour[4];intr,c;intmain(){ inti,j; voidaver_stu(); voidaver_cour(); printf("\nNO.cour1cour2cour3cour4\n"); for(i=0;i<3;i++) { printf("No%d:",i+1); for(j=0;j<4;j++) scanf("%d",&score[i][j]); } aver_stu(); aver_cour(); return0;} voidaver_stu()//計(jì)算并輸出每個學(xué)生平均成績 { } voidaver_cour()//計(jì)算4門課程平均成績函數(shù) { }27.編寫完成fun函數(shù)實(shí)現(xiàn)將一行字符串中最長單詞輸出。此行字符串從主函數(shù)傳遞給該函數(shù)。#include<stdio.h>charb[50];intmain(){ chara[50]; voidfun(chara[]); gets(a); fun(a); return0;}voidfun(chara[]){ }28.有3個學(xué)生,各學(xué)4門課程,輸出總平均分?jǐn)?shù)以及第n個學(xué)生全部成績。(要求定義兩個函數(shù)分別實(shí)現(xiàn)上述功效,用指針作為函數(shù)參數(shù))#include<stdio.h>intmain(){ voidaverage(int*); voidfun_n(int(*n)[4]); intscore[3][4]={{98,78,87,86},{85,87,76,45},{93,95,67,87}}; average(*score); fun_n(score); return0;} voidaverage(int*p) { } voidfun_n(int(*n)[4]) { }29.有3個學(xué)生,每個學(xué)生有4門課程成績,要求在用戶輸入學(xué)生學(xué)號以后,能輸出該學(xué)生全部成績。(用指針函數(shù)知識實(shí)現(xiàn))30.定義一個結(jié)構(gòu)體變量(包含年、月、日)。計(jì)算當(dāng)日是本年中第幾天,注意閏年問題。如輸入197944,輸出第94天,輸入44,輸出第95天。31.設(shè)計(jì)候選人得票統(tǒng)計(jì)程序,要求有4個侯選人(分別是Zhang、Wang、Li、Zhao),選民(10名選民參加投票)每次輸入一個被選人姓名,最終統(tǒng)計(jì)出各人得票結(jié)果。32.定義一個包含學(xué)號、姓名、成績學(xué)生結(jié)構(gòu)體,要求實(shí)現(xiàn)輸入3個學(xué)生信息輸入后,按照成績高低次序輸出各學(xué)生信息。33.有3個學(xué)生,每個學(xué)生數(shù)據(jù)包含學(xué)號、姓名、3門課程成績,從鍵盤輸入3個學(xué)生數(shù)據(jù),要求完成max函數(shù)和print函數(shù),找到并輸出平均成績最高分學(xué)生信息(包含學(xué)號、姓名、3門課程成績、平均分?jǐn)?shù))(用結(jié)構(gòu)體知識)。#include<stdio.h>#defineN3structStudent{ intnum; charname[20]; floatscore[3]; floataver;};intmain(){ voidinput(structStudentstu[]); structStudentmax(structStudentstu[]); voidprint(structStudentstu); structStudentstu[N],*p=stu; input(p); print(max(p)); return0;} voidinput(structStudentstu[]) { inti; printf("請輸入各個學(xué)生信息:學(xué)號、姓名、三門課成績:\n"); for(i=0;i<N;i++) { scanf("%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]); stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3; } } structStudentmax(structStudentstu[]) { } voidprint(structStudentstu) { }34.學(xué)生統(tǒng)計(jì)由學(xué)號和成績組成,N名學(xué)生數(shù)據(jù)已經(jīng)在主函數(shù)中放入結(jié)構(gòu)體數(shù)組,編寫完成fun函數(shù),把低于平均分學(xué)生數(shù)據(jù)放在b所指數(shù)組中,低于平均分學(xué)生人數(shù)經(jīng)過形參n返回,平均分經(jīng)過函數(shù)值返回。#include<stdio.h>#defineN8typedefstruct{charnum[10];doubles;}STREC;doublefun(STREC*a,STREC*b,int*n){ }voidmain(){ STRECs[N]={{"gao05",85},{"gao03",76},{"gao02",69},{"gao04",85},{"gao01",91},{"gao07",72},{"gao08",64},{"gao06",87}}; STRECh[N],t; inti,j,n; doubleave; ave=fun(s,h,&n); printf("the%dstudentdatawhichislowerthan%7.3f:\n",n,ave); for(i=0;i<n;i++) printf("%s%4.1f\n",h[i].num,h[i].s); printf("\n"); }35.N名學(xué)生數(shù)據(jù)已經(jīng)在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,fun函數(shù)功效是返回指定學(xué)號學(xué)生數(shù)據(jù),若沒有找到指定學(xué)號,在結(jié)構(gòu)體變量中給學(xué)號置空串,成績置-1,作為函數(shù)值返回。#include<stdio.h>#include<string.h>#defineN4typedefstruct{charnum[10];ints;}st;stfun(st*a,char*b){ }intmain(){ sts[N]={{"gao005",85},{"gao003",76},{"gao002",89},{"gao001",34}}; sth; charm[10]; inti; for(i=0;i<N;i++) {if(i%4==0)printf("\n"); printf("%s%3d",s[i].num,s[i].s); } printf("\nenterthenumber:");gets(m); h=fun(s,m); printf("thedata:"); printf("\n%s%4d\n",h.num,h.s); printf("\n"); return0;}36.從鍵盤上讀入3個字符串,對它們按字母大小升序排序,然后把排好序字符串送到磁盤文件中保留,文件把保留到d盤根目錄下,完成write函數(shù)。#include<stdio.h>#include<stdlib.h>#include<string.h>voidwrite(char(*st)[20],FILE*fp1){ }voidoutput(FILE*fp2){ charbuf[30]; if((fp2=fopen("d:\\file.txt","r"))==NULL) { printf("can'topenfile\n"); exit(0); } while(fgets(buf,20,fp2)) printf("%s",buf); fclose(fp2);}intmain(){ FILE*fp; chara[3][20],t[10]; inti,j,k; printf("Enterthreestrings:\n"); for(i=0;i<3;i++) gets(a[i]); write(a,fp); output(fp); return0;}37.從鍵盤輸入5個學(xué)生信息(包含姓名,成績),存到磁盤文件上。然后再從磁盤文件上讀取第1,3,5個學(xué)生數(shù)據(jù)輸入計(jì)算機(jī),并在屏幕上顯示出來。要求完成save函數(shù)和read函數(shù)。#include<stdio.h>#include<stdlib.h>#defineN5structStudent{ charname[10]; intsocre;}stud[N];voidsave(){ }voidread(){ }intmain(){ printf("pleaseenterdataofstudent:\n"); for(inti=0;i<N;i++) scanf("%s,%d",stud[i].name,&stud[i].socre); save();read(); return0;}38.從鍵盤輸入兩個字符串,分別保留在磁盤文件“file1”和“file2”中,完成hebing函數(shù),要求把兩個文件中信息合并(按字母次序排序),輸出到一個新文件“file3”中去。(file1、file2和file3都存放在d盤根目錄下)#include<stdio.h>#include<stdlib.h>voidcreatfile(){ FILE*fp; charst[20]; printf("輸入第一個字符串:"); gets(st);if((fp=fopen("d:\\file1.txt","w"))==NULL) {printf("cannotopenfile");exit(0); } fputs(st,fp); fclose(fp); printf("\n輸入第二個字符串:"); gets(st);if((fp=fopen("d:\\file2.txt","w"))==NULL) {print

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論