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