版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
班級(jí):學(xué)號(hào):姓名:PAGE4第1頁(共10頁)班號(hào)姓名哈工大2008年春季學(xué)期C語言試題題號(hào)一二三卷面總分分?jǐn)?shù)說明:本試卷卷面滿分為100分??偝煽儗雌綍r(shí)實(shí)驗(yàn)成績和卷面筆試成績各自所占比例折合后累加計(jì)算??荚嚂r(shí)間:90分鐘。考試方式:開卷考試,只可以參考自己的資料,不可以相互交流。一、閱讀程序,在標(biāo)有下劃線的空白處填入適當(dāng)?shù)谋磉_(dá)式或語句,使程序完整并符合題目要求。(40分,每空2分)1.下面的程序計(jì)算5!。#include<stdio.h>fun(intn){f*=n;returnf;}intmain(){inti;floats;for(i=1;i<=5;i++)printf("%-8.2f\n",s);return0;}2.下面程序運(yùn)行的結(jié)果如下,請(qǐng)?zhí)羁諏?shí)現(xiàn)這個(gè)結(jié)果。#include<stdio.h>main(){char*s="0123214";intv1=0,v2=0,v3=0;while(*s){switch(*s){default:v3++;case'1':v1++;case'2':v2++;}s++;}printf("%d,%d,%d\n",v1,v2,v3);}輸出結(jié)果:5,2,33.下面的程序在CodeBlocks8.02下輸出結(jié)果如下,請(qǐng)?zhí)羁找詫?shí)現(xiàn)這個(gè)結(jié)果,并且把輸出填寫完整。#include<stdio.h>#include<stdlib.h>intmain(){intn1=1382;n2;charc='a';doubled1=8.503;d2;n2=c;printf("c=%c,n2=%d\n",c,n2);c=n1;printf("c=%c,n1=%d\n",c,n1);n1=d1;printf("n1=%d\n",n1);d2=n1;printf("d2=%f",d2);return0;}輸出結(jié)果:n2=97n1=1382d2=8.000000Processreturned0(0x0)executiontime:0.078sPressanykeytocontinue.4.以下子程序用快速排序算法實(shí)現(xiàn)整型數(shù)的從小到大排序。intPartition(intr[],intfirst,intend){inti,j;while(i<j){while(i<j&&r[i]<=r[j])if(i<j){inttemp;temp=r[i];r[i]=r[j];r[j]=temp;}while(i<j&&r[i]<=r[j])if(i<j){inttemp;temp=r[i];r[i]=r[j];r[j]=temp;}}returni;}voidQuickSort(intr[],intfirst,intend){intpivot;if(first<end){pivot=QuickSort(r,first,);QuickSort(r,,end);}}二、在下面給出的2個(gè)程序中,共有10處錯(cuò)誤(包括語法錯(cuò)誤和邏輯錯(cuò)誤),請(qǐng)找出其中的錯(cuò)誤,并改正之。(20分,每找對(duì)1個(gè)錯(cuò)誤,加1分,每修改正確1個(gè)錯(cuò)誤,再加1分。)統(tǒng)計(jì)字符數(shù)。判斷一個(gè)由’0’~‘9’這10個(gè)字符組成的字符串中哪個(gè)字符出現(xiàn)的次數(shù)最多。輸入數(shù)據(jù):第一行是測(cè)試數(shù)據(jù)的組數(shù)m,每組測(cè)試數(shù)據(jù)占1行,每行數(shù)據(jù)不超過1000個(gè)字符且非空。輸出要求:m行,每行對(duì)應(yīng)一組輸入,包括出現(xiàn)次數(shù)最多的字符和該字符出現(xiàn)的次數(shù)。如果有多個(gè)字符出現(xiàn)的次數(shù)相同且最多,那么輸出ASCII碼最小的那一個(gè)。#include<stdio.h>#include<string.h>main(){intcases,sum[10],i,max;charstr[1000]; scanf("%d",case);while(cases>0){ scanf("%c",str); for(i=0;i<10;i++) sum[i]=0; for(i<0;i<strlen(str);i++) ++sum[str[i]–0]; max=0; for(i=1;i<10;i++)if(sum[i]>=sum[max])max=i;printf("%c%d\n",max+'0',sum[0]);cases--;}}2.交換兩個(gè)整數(shù)的值,保證調(diào)用函數(shù)中實(shí)參的值交換。voidexchang(int*p1,int*p2){intp;*p=p1;p1=p2;p2=*p;}三、編程(40分)1.編寫程序輸出3到10000內(nèi)的可逆素?cái)?shù)??赡嫠?cái)?shù)是指:一個(gè)素?cái)?shù)將其各位數(shù)字的順序倒過來構(gòu)成的反序數(shù)也是素?cái)?shù)。如157和751均為素?cái)?shù),它們是可逆素?cái)?shù)。要求:使用子函數(shù)實(shí)現(xiàn),至少兩個(gè)子函數(shù)。其它自便。(21分)2.編寫程序?qū)崿F(xiàn)將一個(gè)文本文件TAB.TXT中的制表符'\t'(ASCII碼為0x09)換為8個(gè)空格并存入SPACE.TXT文本文件中。(19分)
參考答案與評(píng)分標(biāo)準(zhǔn)一、閱讀程序,在標(biāo)有下劃線的空白處填入適當(dāng)?shù)谋磉_(dá)式或語句,使程序完整并符合題目要求。(40分,評(píng)分標(biāo)準(zhǔn):每空2分,正確得2分,錯(cuò)誤扣2分)1.下面的程序計(jì)算5!。#include<stdio.h>floatfun(intn){staticfloatf=1.0;f*=n;returnf;}intmain(){inti;floats;for(i=1;i<=5;i++)s=fun(i);printf("%-8.2f\n",s);return0;}2.下面程序運(yùn)行的結(jié)果如下,請(qǐng)?zhí)羁諏?shí)現(xiàn)這個(gè)結(jié)果。#include<stdio.h>main(){char*s="0123214";intv1=0,v2=0,v3=0;while(*s){switch(*s){default:v3++;case'1':v1++;break;case'2':v2++;}s++;}printf("%d,%d,%d\n",v1,v2,v3);}輸出結(jié)果:5,2,33.下面的程序在CodeBlocks8.02下輸出結(jié)果如下,請(qǐng)?zhí)羁找詫?shí)現(xiàn)這個(gè)結(jié)果,并且把輸出填寫完整。#include<stdio.h>#include<stdlib.h>intmain(){intn1=1382;shortn2;charc='a';doubled1=8.503;doubled2;n2=c;printf("c=%c,n2=%d\n",c,n2);c=n1;printf("c=%c,n1=%d\n",c,n1);n1=d1;printf("n1=%d\n",n1);d2=n1;printf("d2=%f",d2);return0;}輸出結(jié)果:c=a,n2=97c=f,n1=1382n1=8d2=8.000000Processreturned0(0x0)executiontime:0.078sPressanykeytocontinue.4.以下子程序用快速排序算法實(shí)現(xiàn)整型數(shù)的從小到大排序。intPartition(intr[],intfirst,intend){inti,j;i=first;j=end;while(i<j){while(i<j&&r[i]<=r[j])j--;或者i++;和下面的對(duì)列配對(duì)if(i<j){inttemp;temp=r[i];r[i]=r[j];r[j]=temp;i++;或者j--;}while(i<j&&r[i]<=r[j])i++;或者j--;if(i<j){inttemp;temp=r[i];r[i]=r[j];r[j]=temp;j--;或者i++;}}returni;}voidQuickSort(intr[],intfirst,intend){intpivot;if(first<end){pivot=Partition(r,first,end);QuickSort(r,first,pivot-1);QuickSort(r,pivot+1,end);}}二、在下面給出的2個(gè)程序中,有10處錯(cuò)誤(包括語法錯(cuò)誤和邏輯錯(cuò)誤),請(qǐng)找出其中的錯(cuò)誤,并改正之。(20分,評(píng)分標(biāo)準(zhǔn):每找對(duì)1個(gè)錯(cuò)誤,加1分,每修改正確1個(gè)錯(cuò)誤,再加1分。)1.統(tǒng)計(jì)字符數(shù)。判斷一個(gè)由0~9這10個(gè)字符組成的字符串中哪個(gè)字符出現(xiàn)的次數(shù)最多。輸入數(shù)據(jù):第一行是測(cè)試數(shù)據(jù)的組數(shù)m,每組測(cè)試數(shù)據(jù)占1行,每行數(shù)據(jù)不超過1000個(gè)字符且非空。輸出要求:m行,每行對(duì)應(yīng)一組輸入,包括出現(xiàn)次數(shù)最多的字符和該字符出現(xiàn)的次數(shù)。如果有多個(gè)字符出現(xiàn)的次數(shù)相同且最多,那么輸出ASCII碼最小的那一個(gè)。#include<stdio.h>#include<string.h>main(){intcases,sum[10],i,max;charstr[1001]; scanf("%d",&cases);//兩處錯(cuò)誤,while(cases>0){ scanf("%s",str); for(i=0;i<10;i++) sum[i]=0; for(i<0;i<strlen(str);i++) ++sum[str[i]–‘0’]; max=0; for(i=1;i<10;i++)if(sum[i]>sum[max])max=i;printf("%c%d\n",max+'0',sum[max]);cases--;}}2.交換兩個(gè)整數(shù)的值,保證調(diào)用函數(shù)中實(shí)參的值交換。voidexchang(int*p1,int*p2){intp;p=*p1;*p1=*p2;*p2=p;}三、編程1.編寫程序輸出3到10000內(nèi)的可逆素?cái)?shù)。可逆素?cái)?shù)是指:一個(gè)素?cái)?shù)將其各位數(shù)字的順序倒過來構(gòu)成的反序數(shù)也是素?cái)?shù)。如157和751均為素?cái)?shù),它們是可逆素?cái)?shù)。要求:使用子函數(shù)實(shí)現(xiàn),至少兩個(gè)子函數(shù)。其它自便。(21分)參考答案一:prime函數(shù)用于判定素?cái)?shù)。invert(inta)函數(shù)用于倒序一個(gè)數(shù),如a=123,則invert函數(shù)返回值為321。//縮進(jìn)、空格、空行、標(biāo)識(shí)符命名等編程規(guī)范2分#include<stdio.h>#include<stdlib.h>#include<math.h>//2分intinvert(inta)//1分{ints=0;while(a>0)//1分{s=10*s+a%10;//2分a/=10;//2分}returns;//1分}intprime(inta)//1分{inti;for(i=2;i<=(int)sqrt(a);i++)//2分if(a%i==0)//1分 return0;//1分return1;//1分}intmain(){inti;for(i=3;i<10000;i++)//1分if(prime(i))//1分if(prime(invert(i)))printf("%5d",i);//2分printf("\n");return0;} 2.編寫程序?qū)崿F(xiàn)將一個(gè)文本文件TAB.TXT中的制表符'\t'(ASCII碼為0x09)換為8個(gè)空格并存入SPACE.TXT文本文件中。(19分)參考答案一://縮進(jìn)、空格、空行、標(biāo)識(shí)符命名等編程規(guī)范2分#include<stdio.h>#include
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 裸花紫珠膠囊調(diào)節(jié)腸道微生物平衡機(jī)制-洞察及研究
- 超導(dǎo)材料在高溫超導(dǎo)領(lǐng)域的應(yīng)用進(jìn)展-洞察及研究
- 氣候治理與區(qū)域經(jīng)濟(jì)協(xié)同發(fā)展路徑探索-洞察及研究
- 小學(xué)生編程教育中游戲化教學(xué)策略的應(yīng)用研究課題報(bào)告教學(xué)研究課題報(bào)告
- 茶葉溯源技術(shù)創(chuàng)新路徑-洞察及研究
- 安全隱患排查工作報(bào)告
- 2026年血?dú)夥治鯬OCT理論培訓(xùn)考核試題
- 企業(yè)文化建設(shè)提升方案范文
- 小學(xué)數(shù)學(xué)小升初模擬考試卷合集
- 監(jiān)控設(shè)備安裝工程施工設(shè)計(jì)方案
- 2025下半年貴州遵義市市直事業(yè)單位選調(diào)56人備考筆試試題及答案解析
- 2026屆八省聯(lián)考(T8聯(lián)考)2026屆高三年級(jí)12月檢測(cè)訓(xùn)練生物試卷(含答案詳解)
- 2025中原農(nóng)業(yè)保險(xiǎn)股份有限公司招聘67人備考題庫附答案
- 血液管理系統(tǒng)培訓(xùn)課件
- 河南省信陽市高中聯(lián)盟2025-2026學(xué)年高三上學(xué)期12月聯(lián)考語文試卷(含答案)
- 2025年陜西公務(wù)員《行政職業(yè)能力測(cè)驗(yàn)》試題及答案
- 2025年無人機(jī)操控員執(zhí)照理論考試題庫及答案(2月份更新)
- 方案經(jīng)理年終總結(jié)
- 公安刑事案件辦理課件
- 淺談現(xiàn)代步行街的改造
- ktv年關(guān)應(yīng)急預(yù)案
評(píng)論
0/150
提交評(píng)論