2011年c上機(jī)考試試卷(3套)_第1頁
2011年c上機(jī)考試試卷(3套)_第2頁
2011年c上機(jī)考試試卷(3套)_第3頁
2011年c上機(jī)考試試卷(3套)_第4頁
2011年c上機(jī)考試試卷(3套)_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上2011春 第1套一、改錯題(16分)對存儲在string數(shù)組內(nèi)的英文句子中所有以a開始并以e結(jié)尾的單詞做加密處理。加密規(guī)則:若單詞長度為偶數(shù)個(gè)字符,則將組成該單詞的所有字母循環(huán)左移一次;否則循環(huán)右移一次。例如,單詞able經(jīng)左移一次后變?yōu)閎lea,單詞abide經(jīng)右移一次后變?yōu)閑abid。測試數(shù)據(jù):she is able to abide her.屏幕輸出:she is blea to eabid her.【含有錯誤的源程序】#include<stdio.h>#include <ctype.h>void wordchange(char str

2、) int i,j,k,m; char c; for(i=0;stri;i+) for(j=i,k=i;isalpha(strk);k+); if(strj='a' | strk-1='e') if(k-j)%2=0) c=strj; for(m=k-1j;m>j;m-) strm=strm+1; strk-1=c; else c=strk-1; for(m=k-1;m>j;m-) strm=strm-1; strj=c; i=k; void main() char string80="she is able to abide her.&q

3、uot; wordchange(string80); puts(string);二、編程題(24分)【程序功能】矩陣數(shù)據(jù)生成及排序?!揪幊桃蟆?.編寫函數(shù)void creaort(int a3,int n)。函數(shù)功能是先根據(jù)a指向的二維數(shù)組中第1列(列下標(biāo)為0)和第2列(列下標(biāo)為1)的值按如下表所列規(guī)則生成第3列各元素的值,再以行為單位重排a數(shù)組的各行,使得所有行按第3列元素值從小到大排列。 第3列生成規(guī)則: 對任意的i(0in-1)有:ai0ai1ai2非素?cái)?shù)非素?cái)?shù)1非素?cái)?shù)素?cái)?shù)2素?cái)?shù)非素?cái)?shù)3素?cái)?shù)素?cái)?shù)42.編寫main函數(shù)。函數(shù)功能是聲明5行3列二維數(shù)組a并用測試數(shù)據(jù)初始化,用數(shù)組a作為實(shí)參

4、調(diào)用cresort函數(shù),將a數(shù)組中數(shù)據(jù)輸出到屏幕及文件myf2.out中。最后將考生本人的準(zhǔn)考證號字符串輸出到文件myf2.out中。測試數(shù)據(jù): 27 16 0 11 12 0 6 9 0 7 13 0 8 5 0屏幕輸出: 27 16 1 6 9 1 8 5 2 11 12 3 7 13 4第2套一、改錯題(16分)【程序功能】統(tǒng)計(jì)一個(gè)字符串中包含的字母串個(gè)數(shù)并找出其中最長的字母串。所謂字母串是指一個(gè)連續(xù)字母序列(不區(qū)分大小寫),字母串之間用非字母字符分隔。函數(shù)count的功能是統(tǒng)計(jì)p指向的字符串中包含的字母串個(gè)數(shù),并將找出的最長字母串存放在pmax指向的數(shù)組中,函數(shù)返回字母串的個(gè)數(shù)?!緶y試

5、數(shù)據(jù)及運(yùn)行結(jié)果】測試數(shù)據(jù):you are teacher234too.屏幕輸出:a=you are teacher234too.number is 4max string is: teacher【含有錯誤的源程序】#include<stdio.h>#include <string.h>#include <ctype.h>int count(char p,char pmax) int j=0,k,m=0; char temp100; while(*p) while(!isalpha(*p)&&*p) p+; k=0; if(*p!='0

6、')m+; while(isalpha(*p) tempk+=*p+; tempk="0" if(k<j) j=k; pmax=temp; return m; void main() char a100="you are teacher234too.",max100; int i; i=count(a,max); if(i=0) printf("a=%s: No letter strings!n",a); else printf("a=%snnumber is%dnmax string is:%sn"

7、,a,i,max);二、編程題(24分)【程序功能】將一個(gè)二維數(shù)組中的若干行數(shù)據(jù)按要求插入到另一個(gè)二維數(shù)組中?!揪幊桃蟆?.定義符號常量N代表4。2.編寫函數(shù)int insert_row(int aN,int n,int bN,int m)。已知insert_row函數(shù)的形參a指向的二維數(shù)組(簡稱a數(shù)組)前n行數(shù)據(jù)已按每行數(shù)據(jù)之和升序排列,形參b指向的二維數(shù)組(簡稱b數(shù)組)已有m行數(shù)據(jù),insert_row函數(shù)實(shí)現(xiàn)將b數(shù)組中的m行插入到a數(shù)組中,完成插入操作后數(shù)組a中所有行的數(shù)據(jù)仍按每行數(shù)據(jù)之和升序排列。函數(shù)返回a數(shù)組中有效數(shù)據(jù)的行數(shù)。3.編寫main函數(shù)。函數(shù)功能是聲明2個(gè)二維數(shù)組x和y并

8、用測試數(shù)據(jù)初始化,用x和y數(shù)組作為實(shí)參調(diào)用insert_row函數(shù)將y數(shù)組中的2行數(shù)據(jù)插入到x數(shù)組中。輸出x數(shù)組中全部數(shù)據(jù)到屏幕及文件myf2.out中。最后將考生本人的準(zhǔn)考證號字符串輸出到文件myf2.out中。 x數(shù)組原數(shù)據(jù): 2 2 3 4 9 10 11 12 y數(shù)組數(shù)據(jù): 1 3 5 7 5 10 15 20屏幕輸出: 2 2 3 4 1 3 5 7 9 10 11 12 5 10 15 20第3套一、改錯題(16分)函數(shù)factor的功能是求出正整數(shù)m(m>2)除自身以外的所有不同因子,將這些因子按從小到大的順序存放到fac指向的數(shù)組中,將因子個(gè)數(shù)保存到n指向的變量中,函數(shù)返

9、回因子之和。算法提示:用m分別除以2,3,4,(int)sqrt(m),若相除得到兩個(gè)互異因子,則小者存入fac指向數(shù)組的左端,大者存入fac指向數(shù)組的右端;若相除得到兩個(gè)相同因子,則將該因子存入fac指向數(shù)組的左端。當(dāng)求出全部因子后,將所有因子按從小到大的順序集中存放在fac指向數(shù)組的左端。測試數(shù)據(jù):m=32屏幕輸出:Sum:31 Number:=5 Factors:1 2 4 8 16【含有錯誤的源程序】#include <stdio.h>#include <math.h>#define N 100long factor(int m,int *fac,int *n)

10、 int right,left,k=(int)sqrt(m),i; long sum; *fac=1;*n=1;right=N-1;left=1; sum=1; i=2; while(i<k) k=m/i; if(k*i=m) if(i!=m) *n+=2; sum=sum+i+k; facleft+=i; facright-=k; else *n+=1; sum+=i; facleft+=i; i+; for(i=right+1;i<=N-1;i+) facleft+=faci; return sum;void main() int facN=0,i,m,num;long sum

11、; printf("Input m(>2):"); scanf("%d",&m); sum=factor(m,fac,&num); printf("nSum:%ldn",sum); printf("nNumer:%dn",num); for(i=0;i<num;i+) printf("%6d",faci);二、編程題(24分)【程序功能】在一個(gè)字符串中查找所有等值子串?!揪幊桃蟆?.如果字符串內(nèi)的一個(gè)子串(其長度大于1)中所有字符均相同,則稱之為等值子串.編寫函數(shù)int eqsub(char s,char result80)。函數(shù)功能是在s指向的字符串中查找等值子串,將找到的所有等值子串存放到result指向的二維數(shù)組中(一行存儲一個(gè)等值子串),函數(shù)返回result數(shù)組中等值子串的個(gè)數(shù)。2.編寫main函數(shù)。函數(shù)功能是聲

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論