![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
2008年秋江蘇省計(jì)算機(jī)二級(jí)VC上機(jī)真題1 |
2008秋江蘇省高校計(jì)算機(jī)等級(jí)考試VC++ 上機(jī)1 一:改錯(cuò)題 以下程序的功能是:查找10—1000之間的回文素?cái)?shù),所謂回文素?cái)?shù)是左右對(duì)稱的素?cái)?shù),即從左向右和從右向左讀是相同的素?cái)?shù) 程序正確的運(yùn)行結(jié)果是: The results: 11 101 131 151 181 191 313 353 373 383 727 757 787 797 919 929 count=16 含有錯(cuò)誤的源程序如下: #include <iostream.h> #include <math.h> int prime(int m) //判斷是否是素?cái)?shù) {if(m==2) return 1; //2是最小的素?cái)?shù) for(int i=2;i<(int)sqrt(m);i++) //i小于等于平方根,應(yīng)為i<=sqrt(m) if(m%i==0) return 0; return 1; } void main() {int i,j,k,count; //count沒(méi)有初始化為隨機(jī)數(shù),所以應(yīng)為0,因?yàn)?/SPAN>count要判斷有多少回文素?cái)?shù) cout<<”The result:\n”; for(int s=11;s<1000;s+=2){ if(prime(s)){ //如果是素?cái)?shù),則分解該素?cái)?shù) i=s/100; //i為百位數(shù) j=s%10/10; //j為十位數(shù),所以應(yīng)為j=s/10%10 k=s%10; //k為個(gè)位數(shù) } if(i==0 && j==k ||i!=0&&i==j){ //如果是兩位素?cái)?shù),那么應(yīng)為十位數(shù)j等于個(gè)位數(shù)k, cout<<s<<’\t’; //如果是三位素?cái)?shù),那么應(yīng)為百位數(shù)i等于個(gè)位數(shù)k,所以應(yīng)為i==k count++; if(count%8==0) cout<<endl; //輸出8個(gè)數(shù)值后轉(zhuǎn)到下一行 } } cout<<”count=”<<count<<endl; } 二、編程題(20分) [題目] 試定義一個(gè)類Torch,計(jì)算奧運(yùn)火炬?zhèn)鬟f的總時(shí)間,具體要求如下: (1)私有成員 int d,h,m,s:分別表示奧運(yùn)火炬?zhèn)鬟f的天數(shù)、小時(shí)數(shù)、分鐘數(shù)及秒數(shù) (2)公有成員 Torch(char *p):構(gòu)造函數(shù),用指針p所指向的全部由數(shù)字構(gòu)成的8位字符串初始化火炬?zhèn)鬟f時(shí)間,其中,天、時(shí)、分、秒分別用兩位字符表示(假設(shè)火炬?zhèn)鬟f時(shí)間不超過(guò)99天),例如, 當(dāng)char *p="06150650"時(shí),則d=6,h=15,m=6,s=50 void add(Torch &t):將參數(shù)t所表示的火炬?zhèn)鬟f時(shí)間加入當(dāng)前對(duì)象 void normal():將當(dāng)前對(duì)象所表示的時(shí)間轉(zhuǎn)化為標(biāo)準(zhǔn)形式,即當(dāng)秒數(shù)超過(guò)59時(shí)進(jìn)位分鐘,當(dāng)分鐘超過(guò)59時(shí)進(jìn)位小時(shí),當(dāng)小時(shí)數(shù)超過(guò)23時(shí)進(jìn)位天數(shù) void print() :按規(guī)定格式輸出火炬?zhèn)鬟f的天數(shù)、小時(shí)數(shù)、分鐘數(shù)與秒數(shù) 在主函數(shù)中首先定義一個(gè)Torch對(duì)象t(各數(shù)據(jù)成員的初始值都為0),表示火炬?zhèn)鬟f的總時(shí)間,接著依次輸入若干個(gè)不同城市火炬?zhèn)鬟f的天數(shù),小時(shí)數(shù),分鐘數(shù)與秒數(shù)(需要為各城市定義一個(gè)Tourch對(duì)象,并判斷輸入數(shù)據(jù)的格式是否正確),并將火炬?zhèn)鬟f時(shí)間加入到對(duì)象t中, 輸入/輸出示例: 輸入城市1的火炬?zhèn)鬟f時(shí)間,輸入end結(jié)束: 01084523 輸入城市2的火炬?zhèn)鬟f時(shí)間,輸入end結(jié)束: 01091224 輸入城市3的火炬?zhèn)鬟f時(shí)間,輸入end結(jié)束: 011020304 輸入格式不對(duì),請(qǐng)重新輸入 輸入城市3的火炬?zhèn)鬟f時(shí)間,輸入end結(jié)束: 01102030 輸入城市4的火炬?zhèn)鬟f時(shí)間,輸入end結(jié)束: end 火炬?zhèn)鬟f的時(shí)間為:4天4小時(shí)18分17秒 [說(shuō)明]源程序文件必須為myfb.cpp,并放在T盤根目錄下,供閱卷用 |