版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
【MOOC】《C++程序設(shè)計(jì)基礎(chǔ)》(華中科技大學(xué))章節(jié)作業(yè)中國大學(xué)慕課答案第1章——初識C++語言:從認(rèn)識變量和常量開始,數(shù)據(jù)的表示第一章編程題1.信息的輸出題目內(nèi)容:編寫程序要求在屏幕上輸出:歡迎來到"華中科技大學(xué)"!輸入格式:輸出格式:輸入樣例:輸出樣例:歡迎來到"華中科技大學(xué)"!注意!是中文的感嘆號。
答案:【】2.輸出由輸入的字符組成的如下形狀的圖形。題目內(nèi)容:程序運(yùn)行時輸入一個字符,輸出由該字符組成的如下形狀的圖形。******輸入格式:數(shù)入一個Ascii表中的任意字符。如*,#等。輸出格式:輸出圖形中字符之間有2個空格隔開,最左邊的字符前有5個空格。輸入樣例:*輸出樣例:******
答案:【】第一章單元測試1.單選題:存儲字符串“a+b=12\n\t”所占存儲空間的字節(jié)數(shù)為()
選項(xiàng):
A、8
B、9
C、10
D、11
答案:【9】2.單選題:在C++語言中,自定義的標(biāo)識符()。
選項(xiàng):
A、能使用關(guān)鍵字并且不區(qū)分大小寫
B、不能使用關(guān)鍵字并且不區(qū)分大小寫
C、能使用關(guān)鍵字并且區(qū)分大小寫
D、不能使用關(guān)鍵字并且區(qū)分大小寫
答案:【不能使用關(guān)鍵字并且區(qū)分大小寫】3.單選題:轉(zhuǎn)義字符“反斜杠線”的表示方法正確的是()。
選項(xiàng):
A、\
B、\\
C、‘\’
D、“\”
答案:【\\】4.單選題:下面的變量說明中()是正確的。
選項(xiàng):
A、char:a,b,c;
B、chara;b;c;
C、chara,b,c;
D、chara,b,c,
答案:【chara,b,c;】5.單選題:各種基本數(shù)據(jù)類型的存儲空間正確的長度排列為()。
選項(xiàng):
A、int<char<span=""><>
B、double<span=""><>
C、char
D、int<=char<span=""><>
答案:【char】6.單選題:下列不是C++語言基本數(shù)據(jù)類型的是()。
選項(xiàng):
A、字符型
B、整型
C、浮點(diǎn)型
D、結(jié)構(gòu)體
答案:【結(jié)構(gòu)體】7.單選題:C++語言中普通整型變量int在內(nèi)存中占()字節(jié)。
選項(xiàng):
A、1
B、2
C、3
D、4
答案:【4】8.單選題:C++語言是()
選項(xiàng):
A、機(jī)器語言
B、匯編語言
C、僅具有面向?qū)ο筇卣鞯恼Z言
D、既表現(xiàn)面向?qū)ο蟮奶卣?,又表現(xiàn)面向過程的特征
答案:【既表現(xiàn)面向?qū)ο蟮奶卣?,又表現(xiàn)面向過程的特征】9.單選題:C++語言源程序文件名后綴為()。
選項(xiàng):
A、.EXE
B、.OBJ
C、.cpp
D、.ASM
答案:【.cpp】10.單選題:以下關(guān)于C++語言描述錯誤的是()
選項(xiàng):
A、一個C++程序總是從main函數(shù)開始執(zhí)行
B、每個語句和數(shù)據(jù)聲明的最后必須有一個分號
C、C++語言的注釋符是以“/*”開始并以“*/”結(jié)束的
D、一個C++程序可以包含多個main函數(shù)
答案:【一個C++程序可以包含多個main函數(shù)】第2章——計(jì)算:從數(shù)據(jù)運(yùn)算開始,數(shù)據(jù)簡單運(yùn)算第二章單元測試1.單選題:設(shè)有a、b、c、d、m、n均為int型變量,且a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達(dá)式(m=a>b)&&(n=c>d)運(yùn)算后,n的值為()
選項(xiàng):
A、0
B、1
C、2
D、3
答案:【2】2.單選題:intx=5,y=6;下列表達(dá)式結(jié)果為真的是()。
選項(xiàng):
A、x==y--
B、x==++y
C、x++==y
D、x==--y
答案:【x==--y】3.單選題:判斷字符型變量ch是否為大寫英文字母,應(yīng)使用表達(dá)式()。
選項(xiàng):
A、ch>='A'&ch<='Z'
B、ch<='A'||ch>='Z'
C、'A'<=ch<='Z'
D、ch>='A'&&ch<='Z'
答案:【ch>='A'&&ch<='Z'】4.單選題:若int型變量x=29,double型變量y=6.0,則表達(dá)式x/y的值為()。
選項(xiàng):
A、4.83333
B、4
C、5
D、5.0
答案:【4.83333】5.單選題:執(zhí)行下面程序段的輸出結(jié)果是()。intx=23,y=5,z;z=2+(y++,x+8,x++);cout<<<"="""<<<=""span=""><<">
選項(xiàng):
A、2425
B、2426
C、2526
D、2525
答案:【2425】6.單選題:執(zhí)行以下代碼后,變量x、y、z的值分別為()intx=1,z=1,y=1,k;k=x++||++y&&++z
選項(xiàng):
A、211
B、222
C、122
D、112
答案:【211】7.單選題:已知下列語句中的x和y都是int型變量,其中錯誤的語句()。
選項(xiàng):
A、x=y++;
B、x=++y;
C、(x+y)++;
D、++x==y;
答案:【(x+y)++;】8.單選題:逗號表達(dá)式a=3,a++,a+=6的值是()。
選項(xiàng):
A、10
B、9
C、11
D、12
答案:【10】9.單選題:已知intx=5,y=5,z=5;執(zhí)行語句x%=y+z;后,x的值是()。
選項(xiàng):
A、5
B、6
C、0
D、1
答案:【5】10.單選題:執(zhí)行下列語句后,輸出的結(jié)果是().inta=3,b=5;doublec=b/a;cout<<<span=""><<>
選項(xiàng):
A、1.66666
B、1
C、1.0
D、1.7
答案:【1】第二章編程題1.將一個正整數(shù)逆序輸出。題目內(nèi)容:,程序讀入一個正三位數(shù),然后倒序輸出該3位數(shù)。注意,輸出時如果高位是0則不輸出。比如輸入700,則輸出7。輸入格式:輸入一個3位的正整數(shù)。輸出格式:輸出逆序的數(shù)。輸入樣例:251輸出樣例:152
答案:【】2.根據(jù)輸入的字符輸出對應(yīng)字符的Ascii值。題目內(nèi)容:程序運(yùn)行時可以輸入26個英文字母中(a~x)范圍內(nèi)一個字符,輸出從該字符開始的連續(xù)3個字符對應(yīng)的Ascii值。輸入格式:輸入26個英文字母中(a~x)范圍內(nèi)的一個字符.輸出格式:輸出連續(xù)3個字符對應(yīng)的ascii值,各數(shù)值之間間隔2個空格。輸入樣例:b輸出樣例:9899100
答案:【】3.計(jì)算表達(dá)式y(tǒng)=2^n+1的值題目內(nèi)容:題目根據(jù)輸入n的值(n值的范圍-10~10)計(jì)算并輸出y的值。輸入格式:輸入-10~10范圍內(nèi)的一個整數(shù)。輸出格式:輸出計(jì)算的y值。輸入樣例:2輸出樣例:5
答案:【】第3章——分支結(jié)構(gòu):無處不在的抉擇第三章編程題1.編寫程序,輸入一門課程的成績輸出對應(yīng)的等級。題目內(nèi)容:輸入一門課程的成績,若大于等于90分,輸出“Agrade”;若大于等于于80分而低于90分,輸出“Bgrade”;若大于等于70分而低于80分,輸出“Cgrade”;若大于等于60分而低于70分,輸出“Dgrade”;否則輸出“Notpassed”。輸入格式:直接輸入課程的成績輸出格式:輸出對應(yīng)的等級。注意輸出時如果有空格的話一律是2個空格。輸入樣例:90.9輸出樣例:Agrade
答案:【】2.編寫程序,輸入一個整數(shù),判斷該數(shù)是否是3或7的倍數(shù),可分為4種情況輸出。題目內(nèi)容:根據(jù)輸入的數(shù)判斷輸出下列4種情況之一。①是3的倍數(shù)但不是7的倍數(shù)。②不是3的倍數(shù)但是7的倍數(shù)。③既是3的倍數(shù)也是7的倍數(shù)。④既不是3的倍數(shù)也不是7的倍數(shù)。輸入格式:輸入一個整數(shù)輸出格式:輸出上述四種情況的一種。注意個漢字間不要有任何空格,也沒有標(biāo)點(diǎn)符號輸入樣例:42輸出樣例:既是3的倍數(shù)也是7的倍數(shù)
答案:【】3.請編寫程序根據(jù)快遞商品的重量,單位為公斤,計(jì)算應(yīng)付運(yùn)費(fèi)用。題目內(nèi)容:某快遞公司收取快遞費(fèi)的標(biāo)準(zhǔn)是:5公斤(包括5公斤)以下收費(fèi)10元,超過5公斤后每2公斤收費(fèi)5元,不足2公斤按2公斤收費(fèi)。輸入格式:直接輸入商品的重量,單位為公斤。輸出格式:直接輸出應(yīng)付的快遞費(fèi),單位為元。輸入樣例:5.5輸出樣例:15
答案:【】第三章單元測試1.單選題:若inta=6,則執(zhí)行完下列語句后,a的值為().if(a>10)a-=5;a+=5;
選項(xiàng):
A、1
B、6
C、10
D、11
答案:【11】2.單選題:下面程序的運(yùn)行結(jié)果是().#includeusingnamespacestd;intmain(){inti=10;switch(i){case9:i++;case10:++i;case11:i++;default:i=i+1;}cout<<<span=""><<>return0;}
選項(xiàng):
A、9
B、10
C、11
D、13
答案:【13】3.單選題:下列描述正確的是()。
選項(xiàng):
A、表示m>n1或mn1&&m<span=""><>
B、switch語句結(jié)構(gòu)中必須有default語句
C、if語句結(jié)構(gòu)中必須有else語句
D、如果至少有一個操作數(shù)為true,則包含"||"運(yùn)算符的表達(dá)式為true
答案:【如果至少有一個操作數(shù)為true,則包含"||"運(yùn)算符的表達(dá)式為true】4.單選題:以下代碼執(zhí)行后,a、b、c的值分別為()。inta=8,b=10,c=3;if(a>b)c=a;a=b;b=c;
選項(xiàng):
A、1033
B、8103
C、1088
D、10108
答案:【1033】5.單選題:與表達(dá)式if(!k)等價的是()。
選項(xiàng):
A、if(k==0)
B、if(k!=1)
C、if(-k)
D、if(k!=0)
答案:【if(k==0)】6.單選題:為了避免嵌套的if-else語句的二義性,C++語言規(guī)定else總是與()組成配對關(guān)系。
選項(xiàng):
A、縮排位置相同的if
B、在其之前未配對的if
C、其之前未配對的最近的if
D、同一行上的if
答案:【其之前未配對的最近的if】7.單選題:下面程序的輸出結(jié)果是().#includeusingnamespacestd;intmain(){inta=2,b=-1,c=2;if(a<span=""><>if(b<0)c=0;elsec+=1;cout<<<span=""><<>return0;}
選項(xiàng):
A、0
B、1
C、2
D、3
答案:【2】8.單選題:執(zhí)行語句序列intn;cin>>n;switch(n++){case1:case2:cout<<'1';case3:case4:cout<<'2';break;default:cout<<'3';}時,若鍵盤輸入1,則屏幕顯示()。
選項(xiàng):
A、1
B、2
C、23
D、12
答案:【12】9.單選題:若x和y是程序中的兩個整型變量,則下列if語句中正確的是()。
選項(xiàng):
A、if(x==0)y=1;elsey=2;
B、if(x==0)theny=1elsey=2;
C、if(x==0)y=1elsey=2;
D、ifx==0y=1;elsey=2;
答案:【if(x==0)y=1;elsey=2;】10.單選題:#includeusingnamespacestd;intmain(){inta=3;if(a=5)cout<<<span=""><<>elsecout<<<span=""><<>return0;}程序的輸出是()。
選項(xiàng):
A、3
B、4
C、5
D、6
答案:【6】第4章——循環(huán)結(jié)構(gòu):周而復(fù)始,求同存異第四章編程題1.求和題目內(nèi)容:編程計(jì)算s=a+aa+aaa+…+aaa…a(n個a),a的取值為0~9,n的取值為0~5,a和n由鍵盤輸入例如:a=1,n=3,則s=1+11+111=123輸入格式:輸入a和n輸出格式:s的值輸入樣例:23輸出樣例:s=246
答案:【】2.求整數(shù)的數(shù)根題目內(nèi)容:對于一個正整數(shù)n,我們將它的各個位相加,得到一個新的數(shù)字,如果這個數(shù)是一位數(shù),我們稱之為n的數(shù)根,否則重復(fù)處理,直到它成為一個一位數(shù),這個一位數(shù)就是n的數(shù)根。一位數(shù)的數(shù)根為0例如:24,2+4=6,6是24的數(shù)根398,3+9+8=20,2+0=2,2是398的數(shù)根輸入格式:輸入n輸出格式:n的數(shù)根輸入樣例:789輸出樣例:6
答案:【】3.求函數(shù)s(n)的值題目內(nèi)容:輸入n,求以下函數(shù)的值s(n)=2/1+3/2+…+(n+1)/n輸入格式:輸入n輸出格式:輸出s(n)的值輸入樣例:5輸出樣例:7.28333
答案:【】第四章練一練-----經(jīng)典提高題---不計(jì)入MOOC總成績---1.計(jì)算1分錢、2分錢、5分錢組成1元錢的組合。提示:用窮舉法解題目內(nèi)容:編程計(jì)算用1分錢、2分錢、5分錢組成1元錢的方式所有可能組合數(shù),然后輸出所有可能組合數(shù)。例如:100個1分+0個2分+0個5分,0個1分+50個2分+0個5分,0個1分+0個2分+20個5分均可以組成1元。輸入格式:無輸出格式:直接輸出計(jì)算的數(shù)值,不要輸出任何其他信息。輸出樣例2.求其最大公約數(shù)和最小公倍數(shù)。題目內(nèi)容:程序輸入兩個整數(shù),利用輾轉(zhuǎn)相除法求出兩個整數(shù)的最大公約數(shù)和最小公倍數(shù)。最后按格式要求輸出結(jié)果。輸入格式:輸入兩個整數(shù)輸出格式:輸出最大公約數(shù)和最大公倍數(shù)輸入樣例:48輸出樣例:最大公約數(shù)是4最小公倍數(shù)是83.用泰勒展開式求近似值題目內(nèi)容:利用泰勒展開式求cos(x),要求誤差。提示:該題需要用到迭代法,請參考教材求sinx的算法,關(guān)鍵是找出前后兩項(xiàng)之間的關(guān)系。①設(shè)置一個累加變量sum,設(shè)置一個代表每一項(xiàng)的變量item,以及循環(huán)變量i。②設(shè)置好i的初值及i的增長速度,并以此為依據(jù)找出前后兩項(xiàng)的關(guān)系③用do-while實(shí)現(xiàn),誤差控制item>1e?5作為循環(huán)控制條件。輸入格式:輸入x的值輸出格式:輸出計(jì)算的結(jié)果,注意結(jié)果保留4位小數(shù)。輸入樣例:1輸出樣例:0.54034.4塊砝碼稱重題目內(nèi)容:法國數(shù)學(xué)家梅齊亞克在他著名的《數(shù)字組合游戲》(1962)中提出了一個問題:一位商人有一個重40磅的砝碼,一天不小心將砝碼摔成了四塊。后來商人稱得每塊的重量都是整磅數(shù),而且發(fā)現(xiàn)這四塊碎片可以在天平上稱1至40磅之間的任意重量。請問這四塊碎片各重多少?編寫程序求出這四塊砝碼的重量,并輸出這四塊砝碼的重量。(注意輸出時由小到大的順序輸出)提示:題目中給出的條件是“在天平上”,這意味著:同一砝碼既可以放在天平的左側(cè),也可以放在天平的右側(cè)。若規(guī)定重物只能放在天平的左側(cè),則當(dāng)天平平衡時有:重物重量+左側(cè)砝碼重量總和=右側(cè)砝碼重量總和由此可得:重物重量=右側(cè)砝碼重量總和-左側(cè)砝碼重量總和編程時只要根據(jù)以上公式,使“右側(cè)砝碼重量總和-左側(cè)砝碼重量總和”可以表示1到40之間的全部重量即可。編程中要注意的是:怎樣采用一種簡單的方法來表示一個砝碼是在天平的左側(cè)還是在天平的右側(cè),或是根本沒有使用。注意:此題需要兩次用到窮舉法,第一次窮舉是4個砝碼的重量,分別用四個循環(huán)變量i,j,k,l來表示。第二次窮舉是當(dāng)i+j+k+l==40時,對重1磅到40磅共40種物品使用i,j,k,l四個秤進(jìn)行組合,設(shè)置一個計(jì)數(shù)器,組合出1個計(jì)數(shù)器加1,如果能組合出40個,就是我們要找的答案。輸入格式:無輸出格式:有小到大的順序直接輸出四塊碎片的重量,重量之間空一格(英文空格)(注意輸出時由小到大的順序輸出)輸入樣例:輸出樣例:5.計(jì)算步法題目內(nèi)容:從原點(diǎn)出發(fā),一步只能向右走、向上走或向左走。恰好走N步且不經(jīng)過已走的點(diǎn)共有多少種走法?提示:解題思路:要解決走N步共有多少種走法,我們在拿到題目的時候最直接的想法就是先畫出當(dāng)N=1、N=2、N=3。。。。。N=n時對應(yīng)走法的圖例,由簡單到復(fù)雜、由特殊到一般的推理過程,找出規(guī)律獲得解題的思路。在數(shù)學(xué)上,我們稱為歸納法。如果用編程的方法來求解這樣的推理題,我們把這樣的求解思路(算法)稱之為遞推法。(1)當(dāng)N=1時,繪出走法圖(2)當(dāng)N=2時,繪出走法圖輸入格式:輸入邁出的第幾步輸出格式:可能有的步數(shù)輸入樣例:3輸出樣例:17第四章單元測試1.單選題:有如下程序段:for(inti=1;i<=50;i++){if(i%3!=0)continue;elseif(i%5!=0)continue;cout<<<",";<span=""><<",";<>}執(zhí)行這個程序段的輸出是()
選項(xiàng):
A、15,30,45,
B、15,45,
C、15,30,
D、30,45,
答案:【15,30,45,】2.單選題:下面程序的運(yùn)行結(jié)果是()。#includeusingnamespacestd;voidmain(){inti,j,a=0;for(i=0;i<2;i++){for(j=0;j<4;j++){if(j%2)break;a++;}a++;}cout<<<span=""><<>}
選項(xiàng):
A、3
B、4
C、5
D、6
答案:【4】3.單選題:有如下程序:#includeusingnamespacestd;intmain(){intsum;for(inti=0;i<6;i+=3){sum=i;for(intj=i;j<6;j++)sum+=j;}cout<<<=""span="">選項(xiàng):
A、3
B、10
C、12
D、15
答案:【15】4.單選題:有如下程序段:inti=1;while(1){i++;if(i==10)break;if(i%2==0)cout<<'*';}執(zhí)行這個程序段輸出字符*的個數(shù)是()
選項(xiàng):
A、10
B、3
C、4
D、5
答案:【4】5.單選題:有如下循環(huán)語句:for(inti=50;i>20;i-=2)cout<<<',';<span=""><<',';<>運(yùn)行時循環(huán)體的執(zhí)行次數(shù)是()
選項(xiàng):
A、14
B、15
C、30
D、27
答案:【15】6.單選題:執(zhí)行完以下語句inti=0;doi++;while(i*i<10);時,do后面的循環(huán)體語句i++被執(zhí)行的次數(shù)為()
選項(xiàng):
A、2
B、3
C、4
D、5
答案:【4】7.單選題:有如下程序段:inti=5;while(inti=0){cout<<'*';i--;}運(yùn)行時輸出"*"的個數(shù)是()。
選項(xiàng):
A、0
B、1
C、5
D、無窮
答案:【0】8.單選題:有如下程序:#includeusingnamespacestd;intmain(){inti,f,f1=0,f2=1;for(i=3;i<=6;i++){f=f1+f2;f1=f2;f2=f;}cout<<<=""span="">選項(xiàng):
A、2
B、3
C、5
D、8
答案:【5】9.單選題:以下語句不正確的是()。
選項(xiàng):
A、語句for(i=0;;)表示無限循環(huán)
B、for(;;)表示無限循環(huán)
C、for()也表示無限循環(huán)
D、while(1)表示無限循環(huán)
答案:【for()也表示無限循環(huán)】10.單選題:下面關(guān)于break語句的描述中,不正確的是().
選項(xiàng):
A、break可以用于循環(huán)體內(nèi)
B、break語句可以在for循環(huán)語句中出現(xiàn)多次
C、break語句可以在switch語句中出現(xiàn)多次
D、一個break語句就可以跳出多重循環(huán)
答案:【一個break語句就可以跳出多重循環(huán)】第四章練一練-----經(jīng)典基礎(chǔ)題---不計(jì)入MOOC總成績---[vk-content]1.球隊(duì)比賽題目內(nèi)容:兩個乒乓球隊(duì)進(jìn)行比賽,各出三人。甲隊(duì)為a,b,c三人,乙隊(duì)為x,y,z三人。已抽簽決定比賽名單。有人向隊(duì)員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程序找出三隊(duì)選手的名單。輸入格式:無輸出格式:輸出三隊(duì)比賽選手名單。輸入樣例:輸出樣例:orderisa--**,b--**,c--**(注意**代表比賽對手x,y或z,中間的分隔符均是英文字符,空格只能是1個空格,本行信息不用輸出。)2.分解質(zhì)因數(shù)題目內(nèi)容:將一個正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,輸出90=2*3*3*5,輸入5,輸出5=5輸入格式:輸入正整數(shù)輸出格式:輸入樣例:90輸出樣例:90=2*3*3*53.求最大值、平均值題目內(nèi)容:編程要求輸入若干不為0數(shù)據(jù),輸入0結(jié)束,求該若干數(shù)中的最大值和平均值。如果輸入0個數(shù)則最大值和平均值均為0.輸入格式:輸入若干個數(shù)以0結(jié)束輸出格式:先輸出最大值,然后再輸出平均值,兩數(shù)據(jù)間用英文逗號隔開。注意不要輸出任何別的多余字符。輸入樣例:232-6-10400輸出樣例:max=40,avg=9.84.各位數(shù)之積大于各位數(shù)之和題目內(nèi)容輸入任意兩個整數(shù)(均在10~100之間,不包括10和100),輸出這兩個整數(shù)(包括這兩個整數(shù))之間所有各位數(shù)之積大于各位數(shù)之和的數(shù),例如23,因?yàn)?*3>2+3。輸入格式:輸入10~100范圍內(nèi)的兩個正整數(shù)輸出格式:輸出所有滿足條件的數(shù),注意:每行輸出5個滿足要求的整數(shù),兩個整數(shù)之間間隔兩個空格,包括行末也有兩個空格。輸入樣例1:1015輸出樣例1:沒有這樣的數(shù)輸入樣例2:2030輸出樣例2:232425262728295.關(guān)于素?cái)?shù)的問題題目內(nèi)容:給定兩個整數(shù)n和m,0<=m<=200,編寫程序計(jì)算第n個素?cái)?shù)到第m個素?cái)?shù)之間所有的素?cái)?shù)的和,包括第n個素?cái)?shù)和第m個素?cái)?shù)。<p=""><=m<=200,編寫程序計(jì)算第n個素?cái)?shù)到第m個素?cái)?shù)之間所有的素?cái)?shù)的和,包括第n個素?cái)?shù)和第m個素?cái)?shù)。<>注意:是第n個素?cái)?shù)到第m個素?cái)?shù),不是n和m之間的素?cái)?shù)!輸入格式:兩個正整數(shù),第一個表示n,第二個表示m。輸出格式:輸出所求的和。輸入樣例:24輸出樣例:15第5章——數(shù)組:實(shí)現(xiàn)算法的利器第五章編程題1.學(xué)校教學(xué)管理要求,每個學(xué)期末教學(xué)管理老師必須按要求整理學(xué)生成績并輸出學(xué)生成績匯總表。題目內(nèi)容:假定有學(xué)生3位,3門課程。學(xué)期末要求匯總成績,請用一個二維數(shù)組存儲這些學(xué)生的成績數(shù)據(jù),同時將每位學(xué)生所有課程成績的總分、平均分和名次列入學(xué)生成績匯總表(二維數(shù)組)中的后三列上。要求輸入學(xué)生各科課程成績數(shù)據(jù)后并輸出成績匯總表。(要求:輸出每個數(shù)據(jù)間用2個英文空格隔開,且每行最后一個數(shù)據(jù)后也有2個英文空格)輸入格式:在一行輸入所有數(shù)據(jù),數(shù)據(jù)間用一個空格分隔輸出格式:按名次從高到低分行輸出每位學(xué)生的每門課程成績及總分、平均分及名次數(shù)據(jù)表(數(shù)據(jù)間用2個英文空格間隔,每行行末也有2個英文空格)輸入樣例:123456789輸出樣例:78924814561552123623
答案:【】2.在一堆數(shù)據(jù)中,查找特殊數(shù)據(jù)及其所處位置信息題目內(nèi)容:在包含10個數(shù)的一維整數(shù)數(shù)組a中查找輸入的數(shù)據(jù)num。如果找到則輸出該數(shù)在數(shù)組中的所有出現(xiàn)的位置;若沒找到則輸出“數(shù)組中沒有該數(shù)”字樣。輸入格式:在一行中輸入10個數(shù),每個數(shù)據(jù)間用空格分隔第二行輸入查找數(shù)據(jù)輸出格式:如果找到輸出相應(yīng)的位置,如果有多個位置則分行顯示如果沒有要找的數(shù),輸出“數(shù)組中沒有該數(shù)”,(此輸出信息程序中可以直接復(fù)制使用。)輸入樣例:1234257892輸出樣例:25
答案:【】3.字符轉(zhuǎn)換題目內(nèi)容:編寫程序輸入一個最大長度為80的字符串,將字符串中的所有小寫字符轉(zhuǎn)換成大寫字符,并輸出轉(zhuǎn)換后的字符串和所轉(zhuǎn)換的字符個數(shù)。輸入格式:輸入一個包含任意大、小寫字母、數(shù)字字符(不包括空格字符)的字符串(不大于80個字符)輸出格式:輸出轉(zhuǎn)換后的字符串,然后換行輸出轉(zhuǎn)換字符的個數(shù)輸入樣例:ABCqwerRTY23輸出樣例:ABCQWERRTY234
答案:【】第五章練一練----經(jīng)典提高題-----不計(jì)入MOOC總成績---1.誰家孩子跑得最慢題目內(nèi)容:張、王、李三家各有三個小孩。一天,三家的九個孩子在一起比賽短跑,規(guī)定不分年齡大小,跑第一得9分,跑第二得8分,依次類推。比賽結(jié)果顯示各家的總分相同,且這些孩子沒有同時到達(dá)終點(diǎn)的,也沒有一家的兩個或三個孩子獲得相連的名次。已知獲第一名的是李家的孩子,獲第二名的是王家的孩子。獲得最后一名的是誰家的孩子?輸入格式:無輸出格式:按家庭輸出三個孩子的得分(從大到小排列)輸出最后一名孩子的家注意:數(shù)據(jù)之間用2個英文空格隔開。輸入樣例:無輸出樣例:*家****家****家***最后一名是*家孩子(注意本樣例僅表示輸出格式,*要變成具體的值)2.多項(xiàng)式加法題目內(nèi)容:一個多項(xiàng)式可以表達(dá)為x的各次冪與系數(shù)乘積的和,比如:2x^6+3x^5+12x^3+6x+20現(xiàn)在,你的程序要讀入兩個多項(xiàng)式,然后輸出這兩個多項(xiàng)式的和,也就是把對應(yīng)的冪上的系數(shù)相加然后輸出。程序要處理的冪最大為10。輸入格式:總共要輸入兩個多項(xiàng)式,每個多項(xiàng)式的輸入格式如下:每行輸入兩個數(shù)字,第一個表示冪次,第二個表示該冪次的系數(shù),所有的系數(shù)都是整數(shù)。第一行一定是最高冪,最后一行一定是0次冪。注意第一行和最后一行之間不一定按照冪次降低順序排列;如果某個冪次的系數(shù)為0,就不出現(xiàn)在輸入數(shù)據(jù)中了;0次冪的系數(shù)為0時還是會出現(xiàn)在輸入數(shù)據(jù)中。輸出格式:從最高冪開始依次降到0冪,如:2x^6+3x^5+12x^3-6x+20注意其中的x是小寫字母x,而且所有的符號之間都沒有空格,如果某個冪的系數(shù)為0則不需要有那項(xiàng)。輸入樣例:61523121502062532121600輸出樣例:3x^6+5x^5+12x^3+12x^2+11x+203.楊輝三角題目內(nèi)容:先定義一個二維數(shù)組:a[N][N],略大于要輸出的行數(shù)。再令兩邊的數(shù)為1,即當(dāng)每行的第一個數(shù)和最后一個數(shù)為1。a[i][0]=a[i][i]=1,n為行數(shù)。除兩邊的數(shù)外,任何一個數(shù)為上兩頂數(shù)之和,即a[i][j]=a[i-1][j-1]+a[i-1][j]。最后輸出直角楊輝三角形。其中,N不大于20.為了計(jì)算機(jī)評判,請用setw(6)輸出數(shù)據(jù)。輸入格式:輸入輸出行數(shù)輸出格式:按直角三角形形式輸出楊輝三角輸入樣例:5輸出樣例:1111211331146414.矩陣轉(zhuǎn)置題目內(nèi)容:設(shè)有一矩陣為m×n階(即m行n列),第i行j列的元素是a(i,j),需要將該矩陣轉(zhuǎn)置為n×m階的矩陣,使其中元素滿足b(j,i)=a(i,j)。其中,m、n都不會超過20.輸入格式:輸入矩陣的行數(shù)和列數(shù)輸入矩陣數(shù)據(jù)輸出格式:按矩陣形式輸出原矩陣數(shù)據(jù)按矩陣形式輸出轉(zhuǎn)置矩陣數(shù)據(jù)(注意輸出是使用setw(3)控制格式,并且空格在數(shù)字前方輸入樣例:34123456789101112輸出樣例:原矩陣a123456789101112轉(zhuǎn)置矩陣b1592610371148125.狼追兔子問題題目內(nèi)容:一只兔子躲進(jìn)了10個環(huán)形分布的洞的某一個,狼第一次在第一個洞沒有找到兔子,就隔一個洞,再到第三個洞去找,也沒有找到,就隔兩個洞,到第六個洞去找,以后每次多隔一個洞去找兔子……這樣下去,結(jié)果一直找不到兔子,編程輸出第n次找洞時,兔子可能藏在哪幾個洞中?提示:對于本實(shí)例中提到的問題,雖然是“兔子可能躲在哪個洞中”,但是在考慮算法時,需要知道的是狼會去哪個洞找兔子,狼第一次去的洞是第一個(表示為pos1),第二次去的是第三個(pos3),把它去的洞的代碼用數(shù)字表示出來,可以推導(dǎo)出狼去的洞的代碼是:pos(i+1)=pos(i)+i+1。由題目可知,狼沒有找到兔子,因此該算法會一直持續(xù)下去。除此之外,還需要注意的是,在10個洞之后,比如狼去找第十五個洞,但第十五個洞是不存在的,因此我們用15對10求余,得到的數(shù)字才是洞的標(biāo)示。輸入格式:輸入找洞的次數(shù)n輸出格式:列出所有兔子可能在的洞,一行一個洞;注意:從開始找的那個洞看作是第一個洞,依次類推輸入樣例1:2輸出樣例1:245678910輸入樣例2:4輸出樣例2:245789第五章練一練----經(jīng)典基礎(chǔ)題-----不計(jì)入MOOC總成績---1.矩陣的最大值及其下標(biāo)題目內(nèi)容:使用二維數(shù)組將一個n×m的矩陣中所有元素的最大值及其下標(biāo)獲取。如果數(shù)據(jù)中有相同的數(shù)據(jù),請輸出以行優(yōu)先的順序輸出時先輸出的那個值。通過該程序,掌握二維數(shù)組使用的相關(guān)知識。輸入格式:輸入矩陣的行列值輸入數(shù)據(jù)輸出格式:最大值及其下標(biāo)輸入樣例:341234567999101112輸出樣例:max=a[1][3]=99輸入樣例:341234567999101199輸出樣例:max=a[1][3]=992.求回文數(shù)題目內(nèi)容:輸入m,n兩個整數(shù),10<=m具有對稱性質(zhì)的數(shù)(也稱回文數(shù))。輸入格式:輸入兩個整數(shù)輸出格式:輸出所有這兩個數(shù)之間的回文數(shù),前面是個數(shù),后面是回文數(shù),兩數(shù)空2個英文空格。輸入樣例:10100輸出樣例:1112223334445556667778889993.二分查找算法,折半查找算法題目內(nèi)容:采用二分查找法查找特定關(guān)鍵字的元素。要求用戶輸入數(shù)組長度(該長度不會超過100),也就是有序表的數(shù)據(jù)長度,并輸入有序數(shù)組元素和査找的關(guān)鍵字。程序輸出查找成功與否,以及成功時關(guān)鍵字在數(shù)組中的位置。例如,在有序表11、13、18、28、39、56、69、89、98、122中査找關(guān)鍵字為89的元素。輸入格式:輸入數(shù)組長度輸入有序數(shù)據(jù)輸入要查找的數(shù)據(jù)輸出格式:如果找到輸出“查找成功!”,然后換行輸出查找成功所需的查找次數(shù),再換行輸出查找的下標(biāo)和數(shù)據(jù)如果沒有找到輸出“查找失敗!”輸入樣例:1011131828395669899812289輸出樣例:查找成功!查找次數(shù)為2a[7]=894.冒泡排序算法題目內(nèi)容:用冒泡排序法對任意輸入的10個整數(shù),按照從小到大的順序進(jìn)行排序。請輸出冒泡算法排序后的結(jié)果和每輪未排序的數(shù)據(jù)輸入格式:輸入十個整數(shù)輸出格式:每輪冒泡后輸出數(shù)據(jù)情況,一輪一行;每一輪的輪數(shù)與數(shù)據(jù)之間隔三個英文空格;其他每個數(shù)據(jù)之間空一個英文空格冒泡排序后的數(shù)據(jù)輸入樣例:6632234525515694637輸出樣例:132234525515664637223322551545463732325515324537423515253237551523253265152325751523851595排序后的順序是51523253237454666695.字符串加密算法題目內(nèi)容:要求設(shè)計(jì)一個加密算法。在對一個長度為1000以內(nèi)的指定字符串加密之后,利用解密函數(shù)能夠?qū)γ芪慕饷?,顯示明文信息。加密的方式是將字符串中的每個英文字母字符加上它在字符串中的位置和一個密鑰值n,對于非26個英文字母字符則不需加密。以字符串“mxsoft”為例,第一個字符“m”在字符串中的位置為0,那么它對應(yīng)的密文是"'m'+0+n",如果n為5,就是r;第二個字符“x”在字符串中的位置為1,那么它對應(yīng)的密文是“'x'+1+n",如果n為5,就是d。(注意加密后的字符超過z后返回到第一個字符a)輸入格式:輸入加密的字符串密鑰值輸出格式:加密后的字符串解密前的字符串輸入樣例:ILoveHUST.5輸出樣例:加密后的密文是NSweoTHGI.加密前的明文是ILoveHUST.第五章單元測試1.單選題:下面程序的運(yùn)行結(jié)果是().#include#includeusingnamespacestd;intmain(){chars1[10]="abc";chars2[20]="inter";intk=0,j=0;while(s2[k])k++;while(s1[j])s2[k--]=s1[j++];cout<<<span=""><<>return0;}
選項(xiàng):
A、inter
B、abc
C、interabc
D、intcba
答案:【intcba】2.單選題:已知:inti,x[3][3]={1,2,3,4,5,6,7,8,9};則下面語句的輸出結(jié)果是().for(i=0;i<3;i++)cout<<<"";<=""span=""><<">
選項(xiàng):
A、159
B、147
C、357
D、369
答案:【357】3.單選題:以下程序運(yùn)行后的輸出結(jié)果是()。intmain(){chara[]="abbcabbcabbc";inti=0,j=0,k=0;while(a[i]){if(a[i]=='a')j++;if(a[i]=='b')k++;i++;}cout<<<""<<<=""span=""><<">return0;}
選項(xiàng):
A、26
B、35
C、47
D、36
答案:【36】4.單選題:有如下程序段:charc[20]="examination";c[4]=0;cout<<<span=""><<>執(zhí)行這個程序段的輸出是()。
選項(xiàng):
A、examination
B、exam
C、exa
D、exami
答案:【exam】5.單選題:下面程序的運(yùn)行結(jié)果是()。charc[5]={'a','b','','c',''};cout<<span=""><>
選項(xiàng):
A、1012ACF0(數(shù)組c的首地址值)
B、ab
C、abc
D、以上都不是
答案:【以上都不是】6.單選題:下面關(guān)于數(shù)組的描述錯誤的是()。
選項(xiàng):
A、在C++語言中數(shù)組的名字就是該數(shù)組第一個元素的首地址。
B、長度為n的數(shù)組,下標(biāo)的范圍是0~n-1。
C、數(shù)組的大小必須在編譯時確定。
D、數(shù)組元素的個數(shù)在定義時可以缺省。
答案:【數(shù)組元素的個數(shù)在定義時可以缺省?!?.單選題:以下數(shù)組的初始化,正確的是()。
選項(xiàng):
A、inta[]={1,2,3,4,5};
B、inta[4]={1,2,3,4,5};
C、inta[2]={1,2,3};
D、inta[][]={1,2,3,4};
答案:【inta[]={1,2,3,4,5};】8.單選題:在下述對C++語言字符數(shù)組的描述中,有錯誤的是()。
選項(xiàng):
A、字符數(shù)組可以存放字符串。
B、字符數(shù)組中的字符串可以進(jìn)行整體輸入輸出。
C、可以在賦值語句中通過賦值運(yùn)算符"="對字符數(shù)組整體賦值。
D、字符數(shù)組的下標(biāo)從0開始。
答案:【可以在賦值語句中通過賦值運(yùn)算符"="對字符數(shù)組整體賦值?!?.單選題:在C++語言中,二維數(shù)組元素在內(nèi)存中的存放順序是()。
選項(xiàng):
A、按行優(yōu)先存放
B、按列優(yōu)先存放
C、由用戶自己定義
D、由編譯器決定
答案:【按行優(yōu)先存放】10.單選題:要定義整型數(shù)組x,使之包括初值為0的三個元素,下列語句中錯誤的是()
選項(xiàng):
A、intx[3]={0,0,0};
B、intx[]={0};
C、intx[3]={0};
D、intx[]={0,0,0};
答案:【intx[]={0};】第6章——指針:所向披靡的“金箍棒”魂第六章練一練經(jīng)典基礎(chǔ)題1.單選題:以下程序的功能是:將無符號八進(jìn)制數(shù)字構(gòu)成的字符串轉(zhuǎn)換為十進(jìn)制整數(shù)。例如,輸入的字符串為:556,則輸出十進(jìn)制整數(shù)366。請?jiān)邳S色處選擇合適的語句。#includeusingnamespacestd;intmain(){char*p,s[6];intn;p=s;cin>>p;n=*p-'0';while(!='\0')n=n*8+*p-'0';cout<<<span=""><<>return0;}
選項(xiàng):
A、*++p
B、*p++
C、(*p)++
D、*p
答案:【*++p】2.單選題:閱讀程序,輸出結(jié)果#includeusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout<<*ptr<<""<<*(++ptr)<<p=""><>return0;}
選項(xiàng):
A、1616
B、1111
C、1116
D、1112
答案:【1616】3.單選題:閱讀程序,輸出結(jié)果。#includeusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout<<*ptr<<p=""><>cout<<*(++ptr)<<p=""><>cout<<<p=""><<>cout<<*ptr<<p=""><>return0;}
選項(xiàng):
A、11111112
B、11161116
C、11121112
D、11111116
答案:【11161116】4.單選題:閱讀程序,輸出結(jié)果。#includeusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout<<*ptr<<p=""><>cout<<++*ptr<<p=""><>cout<<<p=""><<>cout<<*ptr<<p=""><>return0;}
選項(xiàng):
A、11111112
B、11161116
C、11121212
D、11121112
答案:【11121212】5.單選題:閱讀程序,輸出結(jié)果。#includeusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout<<*ptr<<p=""><>cout<<*++ptr<<p=""><>cout<<<p=""><<>cout<<*ptr<<p=""><>return0;}
選項(xiàng):
A、11111116
B、11161116
C、11111112
D、11111212
答案:【11161116】6.單選題:閱讀程序,輸出結(jié)果。#includeusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout<<*ptr<<p=""><>cout<<*(ptr++)<<p=""><>cout<<<p=""><<>cout<<*ptr<<p=""><>return0;}
選項(xiàng):
A、11111116
B、11121112
C、11161116
D、11161117
答案:【11111116】7.單選題:#includeusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout<<*ptr<<p=""><>cout<<(*ptr)++<<p=""><>cout<<<p=""><<>cout<<*ptr<<p=""><>return0;}
選項(xiàng):
A、11111116
B、11111212
C、11121116
D、11161117
答案:【11111212】8.單選題:閱讀程序,輸出結(jié)果。#includeusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout<<*ptr<<p=""><>cout<<*ptr++<<p=""><>cout<<<p=""><<>cout<<*ptr<<p=""><>return0;}
選項(xiàng):
A、11111116
B、11111211
C、11121112
D、11161117
答案:【11111116】9.單選題:閱讀程序,請輸出程序的結(jié)果。#includeusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout<<*ptr<<p=""><>cout<<*(ptr++)<<p=""><>return0;}
選項(xiàng):
A、1111
B、1116
C、1112
D、1616
答案:【1111】10.單選題:閱讀程序,請輸出程序的結(jié)果。#includeusingnamespacestd;intmain(){inta[]={11,16,13,14,15};int*ptr=a;cout<<*ptr<<p=""><>cout<<*(++ptr)<<p=""><>return0;}
選項(xiàng):
A、1111
B、1116
C、1112
D、1617
答案:【1116】第6章單元測試1.單選題:下面程序的運(yùn)行結(jié)果是().#includeusingnamespacestd;intmain(){intaa[3][3]={{1},{2},{3}},i,*p=&aa[0][0];for(i=0;i<2;i++){if(i==0)aa[i][i+1]=*p+1;else++p;cout<<*p<<"";}cout<
選項(xiàng):
A、11
B、21
C、12
D、31
答案:【12】2.單選題:下列程序運(yùn)行時的輸出結(jié)果是()。#includeusingnamespacestd;intmain(){inta[7]={23,15,64,33,40,58};ints1,s2,*p;s1=s2=a[0];for(p=a+1;*p;p++){if(s1>*p)s1=*p;if(s2<*p)s2=*p;}cout<<span=""><>return0;}
選項(xiàng):
A、23
B、58
C、64
D、79
答案:【64】3.單選題:已知有數(shù)組定義?char?a[3][4];?下列表達(dá)式中錯誤的是()。
選項(xiàng):
A、a[2]="WIN"?;
B、strcpy(a[2],"WIN")?;
C、a[2][3]='W'?;
D、a[0][1]=a[0][1]?;
答案:【a[2]="WIN"?;】4.單選題:下列程序的輸出結(jié)果是#includeusingnamespacestd;intmain(){chara[]="Hello,World";char*ptr=a;while(*ptr){if(*ptr>='a'&&*ptr<='z')cout<<char(*ptr+'A'-'a');elsecout<<*ptr;ptr++;}return0;}
選項(xiàng):
A、HELLO,WORLD
B、Hello,World
C、hELLO,wORLD
D、hello,world
答案:【HELLO,WORLD】5.單選題:下面程序的運(yùn)行結(jié)果是().#includeusingnamespacestd;voidmain(void){inta[5]={10,20,30,40,50};int*p=&a[0];p++;cout<<++*p<<span=""><>}
選項(xiàng):
A、10
B、21
C、31
D、41
答案:【21】6.單選題:已知:intm=10;在下列語句中錯誤的是()
選項(xiàng):
A、int*p=newint(m);
B、int*p=newint[m]={0};
C、float*p=newfloat(m);
D、float*p=newfloat[m];
答案:【int*p=newint[m]={0};】7.單選題:下列語句中,正確的是()。
選項(xiàng):
A、char*myString="Hello-World!";
B、charmyString="Hello-World!";
C、charmyString[11]="Hello-World!";
D、charmyString[12]="Hello-World!";
答案:【char*myString="Hello-World!";】8.單選題:已知數(shù)組arr的定義如下:intarr[5]={1,2,3,4,5};下列語句中輸出結(jié)果不是2的是()
選項(xiàng):
A、cout<<*arr+1<<span=""><>
B、cout<<*(arr+1)<<span=""><>
C、cout<<arr[1]<<span=""><>
D、cout<<*arr<<span=""><>
答案:【cout<<*arr<<span=""><>】9.單選題:設(shè)有定義一維數(shù)組如下:inta[5],*p=a;,則下列描述中錯誤的是().
選項(xiàng):
A、表達(dá)式p=p+1是合法的
B、表達(dá)式a=a+1是合法的
C、表達(dá)式p-a是合法的
D、表達(dá)式a+2是合法的
答案:【表達(dá)式a=a+1是合法的】10.單選題:下面程序的運(yùn)行結(jié)果是().#includeusingnamespacestd;intmain(){floata=1,b=2,c;float*p1=&a,*p2;p2=&b;c=*p1+*p2;cout<<*p1<<'\n';}
選項(xiàng):
A、1
B、2
C、a
D、b
答案:【1】第六章練一練經(jīng)典提高題1.單選題:若定義chars[2][3]={“ab”,“cd”},*p=(char*)s;//字符型指針p存放的是字符串s的首地址,而字符串s表示的是這樣一個字符串:那么下列表達(dá)式語法正確,并且其值與s[1][1]相等的表達(dá)式(并非一定與其等價)是()//根據(jù)字符串的表示,s[1][1]是字符‘d’
選項(xiàng):
A、*(s+3)
B、p[1][1]
C、*(p+3)
D、char(*++p+2)
答案:【char(*++p+2)】2.單選題:閱讀程序,回答下面問題:#include#includeusingnamespacestd;intmain(){inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};int*p[3];//定義一個指針數(shù)組,表示一個一維數(shù)組內(nèi)存放著三個指針變量,分別是p[0]、p[1]、p[2]p=a;cout<<*p<<p=""><>p++;cout<<*p<<p=""><>return0;}請問這兩個輸出的數(shù)據(jù)相差多少?
選項(xiàng):
A、16
B、4
C、1
D、編譯錯誤
答案:【編譯錯誤】3.單選題:閱讀程序,回答問題:#include#includeusingnamespacestd;intmain(){inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};int(*p)[4];//該語句是定義一個數(shù)組指針,指向含4個元素的一維數(shù)組。p=a;cout<<*p<<span=""><>p++;cout<<*p<<span=""><>return0;}請問這兩個輸出的地址差是多少字節(jié)?
選項(xiàng):
A、16
B、4
C、1
D、編譯錯誤
答案:【16】4.單選題:閱讀程序,輸出結(jié)果#includeusingnamespacestd;intmain(){inta[3][4]={{0,1,2,10},{3,4,5,11},{6,7,8,12}};cout<<*(&a[0][0])<<span=""><>cout<<**a<<span=""><>cout<<*(&a[1][0])<<span=""><>cout<<*(a[0]+1)<<span=""><>cout<<*(a+1)<<span=""><>return0;}
選項(xiàng):
A、0031第一行的首地址
B、第一個元素地址0313
C、00313
D、003131
答案:【0031第一行的首地址】5.單選題:如定義inta[3][4];下面哪個不能表示a[1][1]?
選項(xiàng):
A、*(&a[0][0]+5)
B、*(*(a+1)+1)
C、*(&a[1]+1)
D、*(a[1]+1)
答案:【*(&a[1]+1)】6.單選題:有定義語句:chars[3][10],(*k)[3],*p;則對于下列賦值語句,哪個是正確的?
選項(xiàng):
A、p=s[0];
B、p=s;
C、p=k;
D、k=s;
答案:【p=s[0];】7.單選題:閱讀程序,輸出結(jié)果#includeusingnamespacestd;intmain(){char*a[]={"work","at","alibaba"};char**pa=a;pa++;cout<<*pa<<span=""><>return0;}
選項(xiàng):
A、at
B、編譯錯誤
C、work
D、alibaba
答案:【at】8.單選題:閱讀程序,輸出結(jié)果。#includeusingnamespacestd;intmain(){intaa[2][5]={1,2,3,4,5,6,7,8,9,10};int*ptr1=(int*)(&aa+1);int*ptr2=(int*)(*(aa+1));cout<<*(ptr1-1)<<""<<*(ptr2-1);return0;}
選項(xiàng):
A、105
B、編譯錯誤
C、地址5
D、10地址
答案:【105】9.單選題:閱讀程序,輸出結(jié)果。#includeusingnamespacestd;intmain(){inta[3][2]={1,2,4,5};int*p;p=a[0];cout<<<""<<<<<""<<<""<<<span=""><<><<<<p=a[1];cout<<<""<<<<<""<<<""<<<span=""><<><<<<p=a[2];cout<<<""<<<<<""<<<""<<<span=""><<><<<<return0;}
選項(xiàng):
A、1245450000不確定不確定
B、編譯錯誤
C、1245000000不確定不確定
D、12454500不確定不確定不確定不確定
答案:【1245450000不確定不確定】10.單選題:#includeusingnamespacestd;intmain(){inta[5]={1,2,3,4,5};int*ptr=(int*)(&a+1);cout<<*(a+1)<<""<<*(ptr-1)<<span=""><>return0;}程序運(yùn)行結(jié)果是什么?
選項(xiàng):
A、25
B、編譯錯誤
C、12
D、2不確定
答案:【25】第六章編程題1.運(yùn)用指針技術(shù)實(shí)現(xiàn),統(tǒng)計(jì)輸入字符串的各個字母各出現(xiàn)了多少次。區(qū)分大小寫。題目內(nèi)容:運(yùn)用指針技術(shù)實(shí)現(xiàn),統(tǒng)計(jì)輸入字符串的各個字母各出現(xiàn)了多少次。區(qū)分字母大小寫。輸入格式:在一行上輸入所有的字符串。如下:abab輸出格式:輸出時,每行輸出一個字符和個數(shù),每個字符和個數(shù)數(shù)值之間空一格,按字符的ASCII碼由小到大輸出。a2b2輸入樣例:acba輸出樣例:a2b1c1
答案:【】2.運(yùn)用指針技術(shù)實(shí)現(xiàn),將輸入的十六進(jìn)制數(shù)的字符串轉(zhuǎn)換為對應(yīng)的整數(shù)數(shù)。題目內(nèi)容:運(yùn)用指針技術(shù)實(shí)現(xiàn),將輸入的十六進(jìn)制數(shù)的字符串轉(zhuǎn)換為對應(yīng)的十進(jìn)制整數(shù)并輸出。輸入格式:以字符串形式輸入一個16進(jìn)制數(shù)輸出格式:輸出該16進(jìn)制數(shù)轉(zhuǎn)換后的十進(jìn)制數(shù)輸入樣例:12AB3d輸出樣例:1223485
答案:【】3.運(yùn)用指針技術(shù)實(shí)現(xiàn),將輸入的兩個字符串中第二個字符串插入到第一個字符串中指定輸入數(shù)字位置字符的后面。題目內(nèi)容:運(yùn)用指針技術(shù)實(shí)現(xiàn),將輸入的兩個字符串中第二個字符串插入到第一個字符串中指定輸入數(shù)字位置字符的后面。輸入格式:aghijkbcdef1輸出格式:abcdefghijk輸入樣例:1234598762輸出樣例:129876345
答案:【】第7章函數(shù):面向過程的基礎(chǔ)第七章練一練---經(jīng)典基礎(chǔ)題--不計(jì)入總分---1.在字符串的指定位置插入字符題目內(nèi)容:請編寫一個字符串作為參數(shù)的函數(shù)來實(shí)現(xiàn)程序功能,程序?qū)崿F(xiàn)以下功能:在字符串中的所有數(shù)字字符前加一個$字符。例如,輸入A1B23CD45,輸出A$1B$2$3CD$4$5。輸入格式:輸入一串不帶$的字符串輸出格式:輸出帶$字符串輸入樣例:a1B23CD45輸出樣例:a$1B$2$3CD$4$52.24點(diǎn)問題題目內(nèi)容:在屏幕上輸入1?10范圍內(nèi)的4個整數(shù)(可以有重復(fù)),對它們進(jìn)行加、減、乘、除四則運(yùn)算后(可以任意的加括號限定計(jì)算的優(yōu)先級),尋找計(jì)算結(jié)果等于24的表達(dá)式。例如輸入4個整數(shù)4、5、6、7,可得到表達(dá)式:4*((5-6)+7)=24。這只是一個解,要求輸出全部的解。要求表達(dá)式中數(shù)字的順序不能改變。分析:本題最簡便的解法是應(yīng)用窮舉法搜索整個解空間,篩選出符合題目要求的全部解。因此,關(guān)鍵的問題是如何確定該題的解空間。假設(shè)輸入的4個整數(shù)為A、B、C、D,如果不考慮括號優(yōu)先級的情況,僅用四則運(yùn)算符將它們連接起來,即A+B*C/D…,則可以形成43=64種可能的表達(dá)式。如果考慮加括號的情況,而暫不考慮運(yùn)算符,則共有以下5種可能的情況:①((A□B)□C)□D;②(A□(B□C))□D;③A□(B□(C□D));④A□((B□C)□D);⑤(A□B)□(C□D)。其中□代表“+、-、*、/”四種運(yùn)算符中的任意一種。將上面兩種情況綜合起來考慮,每輸入4個整數(shù),其構(gòu)成的解空間為64*5=320種表達(dá)式。也就是說,每輸入4個整數(shù),無論以什么方式或優(yōu)先級進(jìn)行四則運(yùn)算,其結(jié)果都會在這320種答案之中。在這320種表達(dá)式中尋找出計(jì)算結(jié)果為24的表達(dá)式。輸入格式:輸入1--10內(nèi)的整數(shù)4個輸出格式:給出計(jì)算24點(diǎn)的表達(dá)式輸入樣例1:1234輸出樣例1:((1+2)+3)*4=24(1+(2+3))*4=24((1*2)*3)*4=24(1*(2*3))*4=241*(2*(3*4))=241*((2*3)*4)=24(1*2)*(3*4)=24輸入樣例2:6789輸出樣例2:Sorry,thefourintegercannotbecalculatedtoget243.分魚問題題目內(nèi)容:有n個人合伙夜間捕魚,凌晨時都已經(jīng)疲憊不堪,于是各自在河邊的樹叢中找地方睡著了。第二天日上三竿時,大家分別醒來計(jì)算自己的魚。如果n是5的話,假定是ABCDE5個人,A第一個醒來,他將魚平分為n份,把多余的一條扔回河中,然后拿著自己的一份回家去了;B第二個醒來,但不知道A已經(jīng)拿走了一份魚,于是他將剩下的魚平分為n份,扔掉多余的一條,然后只拿走了自己的一份;接著C、D、E依次醒來,也都按同樣的辦法分魚。如果是n個人,也依此類推,問這n人至少合伙捕到多少條魚?每個人醒來后所看到的魚是多少條?請用遞歸函數(shù)來實(shí)現(xiàn)。輸入格式:分魚的人數(shù)輸出格式:總共的魚數(shù)輸入樣例:5輸出樣例:31214.求梅森素?cái)?shù)題目內(nèi)容:梅森數(shù)(MersennePrime)指的是形如2n-1的正整數(shù),其中指數(shù)n是素?cái)?shù),即為Mn。如果一個梅森數(shù)是素?cái)?shù),則稱其為梅森素?cái)?shù)。例如22-1=3、23-1=7都是梅森素?cái)?shù)。當(dāng)n=2,3,5,7時,Mn都是素?cái)?shù),但n=11時,Mn=M11=211-1=2047=23X89,顯然不是梅森素?cái)?shù)。1722年,瑞士數(shù)學(xué)大師歐拉證明了231-1=2147483647是一個素?cái)?shù),它共有10位數(shù),成為當(dāng)時世界上已知的最大素?cái)?shù)。迄今為止,人類僅發(fā)現(xiàn)了47個梅森素?cái)?shù)。梅森素?cái)?shù)歷來都是數(shù)論研究中的一項(xiàng)重要內(nèi)容,也是當(dāng)今科學(xué)探索中的熱點(diǎn)和難點(diǎn)問題。試求出輸入的任意兩個整數(shù)指數(shù)(大于等于2的整數(shù))之間的所有梅森素?cái)?shù),判斷梅森素?cái)?shù)作為函數(shù)。輸入格式:輸入兩個整數(shù)輸出格式:輸出這兩個整數(shù)之間的所有梅森素?cái)?shù)(數(shù)據(jù)之間的空格是一個英文空格)以及梅森素?cái)?shù)個數(shù)輸入樣例:210輸出樣例:M=23M=37M=531M=7127thenumberofMersennePrimeis:45.刪除星號題目內(nèi)容:現(xiàn)在有一串字符需要輸入,規(guī)定輸入的字符串中只包含字母和*號。請編寫帶有指針作為參數(shù)的函數(shù)程序,實(shí)現(xiàn)以下功能:除了字符串前后的*號之外,將串中其他的*號全部刪除。例如,假設(shè)輸入的字符串為****A*BC*DEF*G********,刪除串中的*號后,字符串變?yōu)?***ABDEFG********輸入格式:輸入帶*號的字符串輸出格式:刪除帶*號的字符串輸入樣例:****A*BC*DEF*G********輸出樣例:****ABDEFG********第7章單元測試1.單選題:以下程序的執(zhí)行結(jié)果是()。intfun(intb[],intn){inti,r=1;for(i=0;i<p=""><>r=r*b[i];returnr;}voidmain(){intx,a[]={1,2,3,4,5,6,7,8};x=fun(a,3);cout<<<p=""><<>}
選項(xiàng):
A、5
B、6
C、7
D、8
答案:【6】2.單選題:有如下程序:#includeusingnamespacestd;voidf1(int&x,int&y){intz=x;x=y;y=z;}voidf2(intx;inty){intz=x;x=y;y=z;}intmain(){intx=10,y=26;f1(x,y);f2(x,y);cout<<<=""span=""><return0;}運(yùn)行時的輸出結(jié)果是
選項(xiàng):
A、10
B、16
C、26
D、36
答案:【26】3.單選題:已知函數(shù)f的原型是:voidf(int*a,long&b);變量v1、v2的定義是:intv1;longv2;,正確的調(diào)用語句是()。
選項(xiàng):
A、f(v1,&v2);
B、f(v1,v2);
C、f(&v1,v2);
D、f(&v1,&v2);
答案:【f(&v1,v2);】4.單選題:下面的函數(shù)利用遞歸實(shí)現(xiàn)了求1+2+3…..+n的功能:intsum(intn){if(n==0)return0;elsereturnn+sum(n-1);}在執(zhí)行sum(10)的過程中,遞歸調(diào)用sum函數(shù)的次數(shù)是()。
選項(xiàng):
A、9
B、10
C、11
D、8
答案:【10】5.單選題:為了提高函數(shù)調(diào)用的實(shí)際運(yùn)行速度,可以將較簡單的函數(shù)定義為
選項(xiàng):
A、內(nèi)聯(lián)函數(shù)
B、重載函數(shù)
C、遞歸函數(shù)
D、函數(shù)模板
答案:【內(nèi)聯(lián)函數(shù)】6.單選題:已知函數(shù)FA調(diào)用FB,若要把這兩個函數(shù)定義在同一個文件中,則
選項(xiàng):
A、FA必須定義在FB之前
B、FB必須定義在FA之前
C、若FA定義在FB之后,則FA的原型必須出現(xiàn)在FB的定義之前
D、若FB定義在FA之后,則FB的原型必須出現(xiàn)在FA的定義之前
答案:【若FB定義在FA之后,則FB的原型必須出現(xiàn)在FA的定義之前】7.單選題:下列函數(shù)原型聲明中錯誤的是()
選項(xiàng):
A、voidFun(intx=0,inty=0);
B、voidFun(intx,inty);
C、voidFun(intx,inty=0);
D、voidFun(intx=0,inty);
答案:【voidFun(intx=0,inty);】8.單選題:已知函數(shù)fun的原型為intfun(int,int,int);下列重載函數(shù)原型中錯誤的是______。
選項(xiàng):
A、charfun(int,int);
B、doublefun(int,int,double);
C、intfun(int,clar*);
D、floatfun(int,int,int);
答案:【floatfun(int,int,int);】9.單選題:有以下程序#includeinti=0;voidfun(){{staticinti=1;cout<<<',';<span=""><<',';<>}cout<<::i<<',';}intmain(){fun();fun();return0;}程序執(zhí)行后的輸出結(jié)果是()
選項(xiàng):
A、0,1,1,2,
B、1,2,2,3,
C、2,0,3,0,
D、1,0,2,0,
答案:【1,0,2,0,】10.單選題:有如下程序段:inti=4;intj=1;intmain(){inti=8,j=i;cout<<<<span=""><<<>}運(yùn)行時的輸出結(jié)果是______。
選項(xiàng):
A、44
B、41
C、88
D、81
答案:【88】第七章練一練---經(jīng)典提高題---不計(jì)入總分---1.麻將清一色和牌問題題目內(nèi)容:清一色是麻將番種之一,指由一種花色的序數(shù)牌組成的和牌.數(shù)字1-9,每個數(shù)字最多有4張牌我們不考慮具體花色,我們只看數(shù)字組合??套樱喝龔堃粯拥呐疲蝗?111,222,333,…,999順子:三張連續(xù)的牌;如:123,234,345,…,789對子:兩張相同的牌;如:11,22,33,…,99需要實(shí)現(xiàn)一個程序,判斷給定牌,是否可以和牌(胡牌)。和牌要求:麻將牌張數(shù)只能是2,5,8,11,14給定牌可以組合成,除1個對子以外其他都是刻子或順子舉例:-“11”->“11”,1對子,可以和牌“11122233”->“111”+“222”+“33”,2刻子,1對子,可以“11223344567”->“11”+“234”+“234”+“567”,1對子,3順子,可以->“123”+“123”+“44”+“567”,另一種組合,也可以分析:可用遞歸的方式求解,在字符串中搜索刻子和順子,找到之后再對去掉刻子或順子之后的字符串進(jìn)行遞歸搜索,直到字符串長度小于3為止,若最終剩余字符串長度為2且兩個字符相同時則胡牌,否則不能胡牌。輸入格式:合法字符串,只包含'1’-‘9’,且已經(jīng)按從小到大順序排好;字符串長度不超過15。同一個數(shù)字最多出現(xiàn)4次,與實(shí)際相符。輸出格式:“yes"或者"no”輸入樣例:2244輸出樣例:no2.任意進(jìn)制相互轉(zhuǎn)化題目內(nèi)容:求任意兩個不同進(jìn)制非負(fù)整數(shù)的轉(zhuǎn)換(2進(jìn)制~16進(jìn)制),所給整數(shù)在long所能表達(dá)的范圍之內(nèi)。不同進(jìn)制的表示符號為(0,1,...,9,a,b,...,f)或者(0,1,...,9,A,B,...,F(xiàn))。如果輸入要轉(zhuǎn)換的進(jìn)制為00時,輸出“停止轉(zhuǎn)換”;見樣例3分析:可以借用兩個函數(shù)來完成進(jìn)制之間的轉(zhuǎn)換,并且把任意進(jìn)制的數(shù)據(jù)用字符串表示1.將任意進(jìn)制的數(shù)轉(zhuǎn)化為十進(jìn)制2.再將十進(jìn)制轉(zhuǎn)為任意進(jìn)制輸入格式:輸入轉(zhuǎn)換前的進(jìn)制輸入轉(zhuǎn)換后的進(jìn)制輸入要轉(zhuǎn)換的數(shù)據(jù)輸出格式:轉(zhuǎn)換后的數(shù)據(jù)輸入樣例1:2101100輸出樣例1:12輸入樣例2:816123輸出樣例2:53輸入樣例3:00輸出樣例3:停止轉(zhuǎn)換3.奶牛生子的問題題目內(nèi)容:一只剛出生的奶牛,4年生1只奶牛,以后每一年生1只?,F(xiàn)在給你一只剛出生的奶牛,求n年后有多少奶牛。設(shè)計(jì)一個遞歸函數(shù)編程求解問題。本題主要考察讀者的分析能力,已知條件有兩:第一次,4年生一只。然后每年生一只。需要的結(jié)果中也提供了一個條件,就是n年。要注意的本題最難的地方是不光這只奶牛會生奶牛,它的孩子的孩子也會繼續(xù)生奶牛。輸入格式:輸入年數(shù)輸出格式:牛的數(shù)目輸入樣例:20輸出樣例:20年后牛的數(shù)目3454.矩陣轉(zhuǎn)置題目內(nèi)容:編寫一個程序,將一個n行n列的矩陣轉(zhuǎn)置,其中n是大于等于3并且小于等于20的整數(shù)。編寫一個輸入n行n列的矩陣函數(shù)和輸出n行n列的矩
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年浙江建筑安全員《A證》考試題庫及答案
- 2025江西省安全員-C證考試(專職安全員)題庫及答案
- 2025陜西省建筑安全員《B證》考試題庫及答案
- 2025浙江省安全員A證考試題庫附答案
- 二十四節(jié)氣之立春課件模板
- 《蛋糕制作》課件
- 工藝管道培訓(xùn)課件
- 《海南??谙母偂氛n件
- 單位管理制度收錄大合集【人員管理篇】
- 有機(jī)玻璃操作箱行業(yè)行業(yè)發(fā)展趨勢及投資戰(zhàn)略研究分析報(bào)告
- 小豆苗產(chǎn)品介紹門診端
- 空調(diào)安裝和維修的培訓(xùn)
- ??祱?zhí)法記錄儀解決方案
- 液化氣供應(yīng)站安全管理制度和營業(yè)制度
- GB/T 21385-2008金屬密封球閥
- GB/T 18994-2003電子工業(yè)用氣體高純氯
- 文言文閱讀訓(xùn)練:《三國志-武帝紀(jì)》(附答案解析與譯文)
- (完整版)招聘面試方案設(shè)計(jì)與研究畢業(yè)論文設(shè)計(jì)
- 調(diào)休單、加班申請單
- 肉制品生產(chǎn)企業(yè)名錄296家
- 規(guī)劃設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)
評論
0/150
提交評論