freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

上海市計算機等級考試二級java程序設(shè)計-資料下載頁

2024-11-04 17:02本頁面
  

【正文】 的定義和初值,就可完成題目所要求的操作。(5)也可以在while后的一對括號中來完成字符的讀入,如while((ch=getchar())![KG*2]=′\n′)。這時,循環(huán)內(nèi)、外的“ch=getchar()?!闭Z句應(yīng)當去掉。【分析與解答】(1)一行字符的讀入,(1)和(5)中的解釋。循環(huán)體內(nèi)的“??”符號表示需要在循環(huán)體內(nèi)完成的其他操作。ch=getchar()。 while(ch![KG*2]=′\n′) {?? ch=getchar()。 } (2)在本題中循環(huán)體內(nèi)需要把讀入的所有數(shù)字字符轉(zhuǎn)換成一個整數(shù)。若用變量n來存放這個整數(shù),為了保證有效的存放,應(yīng)當把它定義成long類型。(3)要把輸入的一串數(shù)字字符轉(zhuǎn)換成一個整數(shù),首先需要判斷當前讀入的字符是否是數(shù)字字符,若不是則什么也不做;若是,則進行以下操作:① 把當前讀入的一個字符轉(zhuǎn)換成一個一位整數(shù),這可由語句“d=ch′0′?!眮韺崿F(xiàn),在這里d是一個整型變量; ② 把d中的一位數(shù)歸并到n的低位中,這可用語句“n=n*10+d?!眮韺崿F(xiàn)。這里所述的操作可由以下語句來完成:if(ch=′0′amp。amp。chif(isdigit(ch)){ d=ch′0′。n=n*10+d。} if子句的兩個語句可以合并成:n=n*10+ch′0′。(4)把(3)中的語句放入循環(huán)中: ch=getchar()。while(ch![KG*2]=′\n′){if(ch=′0′amp。amp。ch(5)請自己寫出定義語句并賦初值。注意,最后輸出n時,應(yīng)當使用格式說明%ld,而不能使用%d。【分析與解答】(1)行數(shù)的統(tǒng)計可通過統(tǒng)計輸入的′\n′符的個數(shù)來完成。(2)統(tǒng)計的過程應(yīng)當放在一個while循環(huán)體中;判斷循環(huán)是否進行的條件可以用:((ch=getchar())==EOF)。若用整型變量n作為計數(shù)器對′\n′符進行統(tǒng)計,只要讀入的字符是′\n′,則n增1。如:while((ch=getchar())![KG*2]=EOF) if(ch==′\n′)n++。(3),在TURBO C的環(huán)境下,鍵入Ctrl+Z(即按住鍵盤上的Ctrl鍵,同時按字母Z鍵)后,敲Enter鍵,即輸入了EOF。【分析與解答】(1)本題要求的操作同樣可在while循環(huán)中完成:while((ch=getchar())!=′\n′){??}(2)若用整型變量n作為計數(shù)器對小寫字母進行統(tǒng)計,只要讀入的字符是小寫字母,則n增1。如:if(ch=′a′ amp。amp。 ch【分析與解答】(1)若圖案的行數(shù)輸入到變量L中。(2)按要求L決定了圖形的行數(shù),因此可通過循環(huán)來實現(xiàn)L行的輸出:for(i=1。i{ ?? }循環(huán)體中的“??”號,代表輸出L行的操作。(3)假定ch中存放了一個字符,我們知道,通過以下循環(huán)可以在一行上輸出n個字符:for(j=1。jputchar(′\n′)。注意,在循環(huán)后putchar(′\n′)。語句不可少,它用以換行。(4)現(xiàn)在應(yīng)當解決如何按要求給出每行輸出的字符。由圖分析,行數(shù)(或行號)為1時輸出字符A,行數(shù)為2時輸出字母B??若輸出的字母放在變量ch中,行號取決于外循環(huán)的控制變量i,則輸出的字母和行號的關(guān)系可用表達式:ch=′A′+i1來表示。當i為1時ch中被賦予字母A,當i為2時ch中被賦予了字母B,其他依此類推。因此,在此表達式后,利用(3)中的循環(huán)就解決了各行上輸出的字母。(5)按要求每行輸出的字母的個數(shù)不同,第二行輸出3個字母,第三行輸出5個字母,第四行輸出7個字母??(3)中for循環(huán)體的執(zhí)行次數(shù)取決于n的值,也就是說n的值決定了每行輸出字母的個數(shù)。其實,n的值與行號有著密切的關(guān)系:n=2*i1,當i為1時n的值是當i的2時n的值是當i的3時n的值是當i的4時n的值是7。因此在(3)中for循環(huán)之前可用此表達式求出n的值。(6)總結(jié)以上分析,我們可得到以下的程序段: for(i=1。ich=′A′+i1。 n=2*i1。for(j=1。j } 若所用的變量都已正確定義,通過輸入L的值為5,則程序段在第一列起有以下的輸出結(jié)果: ABBBCCCCCDDDDDDDEEEEEEEEE和題目的要求比較已趨接近,不同的是在每行沒有適當?shù)目s進。(7)現(xiàn)在來解決每行的縮進問題。由題中給出的圖形可知,若指定輸出5行,第一行縮進5個空格,第二行則縮進4個空格,第三行則縮進3個空格,第四行則縮進2個空格,第五行則縮進1個空格。這同樣可以由以下的for循環(huán)來實現(xiàn):for(k=L。k=i。k)putchar(′ ′)。把此循環(huán)放在i控制的循環(huán)體內(nèi)、輸出每行字符的循環(huán)之前即可。(8)請讀者自己補充有關(guān)的include行、語句和變量的定義,以完成整個程序。注意,如果有能力可在某些地方作些簡化。第七章、函數(shù)一、選擇題 以下說法中正確的是A)C語言程序總是從第一個定義的函數(shù)開始執(zhí)行B)在C語言程序中,要調(diào)用的函數(shù)必須在main函數(shù)中定義C)C語言程序總是從main函數(shù)開始執(zhí)行D)C語言程序中的main函數(shù)必須放在程序的開始部分答案:C 以下函數(shù)的類型是A)與參數(shù)x的類型相同B)void類型C)int類型D)無法確定fff(float x){ printf(”%d“,x*x)。}答案:C 以下函數(shù)調(diào)用語句中,含有的實參個數(shù)是A)1B)2C)4D)5func((exp1,exp2),(exp3,exp4,exp5))。答案:B 以下程序的輸出結(jié)果是A)11B)20C)21D)31fun(int a,int b){ int c。c=a+b。return c。} main(){ int x=6,y=7,z=8,r。r=func((x,y++,x+y),z)。printf(”%d“,r)。}答案:C 以下程序的輸出結(jié)果是A)1B)0C)1D)2main(){ int i=2,p。p=f(i,i+1)。printf(”%d“,p)。} int f(int a, int b){ int c。c=a。if(ab)c=1。else if(a==b)c=0。else c=1。return(c)。}答案:A 以下程序的輸出結(jié)果是A)0B)1C)6D)無定值fun(int a,int b,int c){ c=a*b。} main(){ int c。fun(2,3,c)。printf(”%d“,c)。}答案:D 以下程序的輸出結(jié)果是A)B)C) D)double f(int n){ int i。double s。s=。for(i=1。ireturn s。} main(){ int i,m=3。float a=。for(i=0。iprintf(”%f“,a)。}答案:A二、填空題 以下程序的輸出結(jié)果是____。unsigned fun6(unsigned num){ unsigned k=1。do{ k*=num%10。num/=10。}while(num)。return k。} main(){ unsigned n=26。printf(”%d“,fun6(n)。}答案:12 以下程序的輸出結(jié)果是____。double sub(double x,double y,double z){ y=。z=z+x。return z。} main(){ double a=,b=。printf(”%f“,sub(ba,a,a))。}答案: 以下程序的輸出結(jié)果是____。fun1(int a,int b){ int c。a+=a。b+=b。c=fun2(a,b)。return c*c。} fun2(int a,int b){ int c。c=a*b%3。return c。} main(){ int x=11,y=19。printf(”%d“,fun1(x,y))。}答案:4 下面pi函數(shù)的功能是,根據(jù)以下公式返回滿足精度ε要求的π的值。請?zhí)羁?。?2 = 1 + 1/3 +(1/3)*(2/5)+(1/3)*(2/5)*(3/7)+(1/3)*(2/5)*(3/7)*(4/9)+...double pi(double eps){ double s=,t=。int n。for(_____。teps。n++){ s+=t。t=n*t/(2*n+1)。}return(*_____)。}答案:n=s 以下函數(shù)用以求x的y次方。請?zhí)羁铡ouble fun(double x, int y){ int i。double z。for(i=1。i_____。i++)z=_____。return z。}答案:long f(int n){ int i。long s。s=_____。for(i=1。ireturn s。} main(){ long s。int k,n。scanf(”%d“,amp。n)。s=_____。for(k=0。kprintf(”%ld“, s)。}答案:1L、s*i、0、f(k)三、程序調(diào)試和編程題 【分析與解答】(1)fun函數(shù)判斷傳給形參n的數(shù)是否為素數(shù),若是函數(shù)返回1,否則返回0。(2)函數(shù)的原意是用變量yes作為判斷n是否為素數(shù)的標志,是素數(shù),其值為1,否則為0。而所給函數(shù)的實際流程卻不能實現(xiàn)這一功能,例如,若n的值為15(明顯不是素數(shù))時,在for循環(huán)中,當k的值為3時,就會執(zhí)行if子句,yes得0,但for循環(huán)并沒有終止,接著k為4時就會執(zhí)行else子句,又使yes得1,由此可見此程序段并不能準確地判斷一個數(shù)是否為素數(shù);最后確定yes為何值的是for循環(huán)的終止值n/2,當n為15時,k的值為n/2等于7,在循環(huán)體內(nèi)將又一次執(zhí)行else子句,使yes得1,這時循環(huán)結(jié)束,函數(shù)返回1。由此可見所給fun函數(shù)不能起到預(yù)想的作用。(3)由上分析可知,對于n的值為15時而言,問題是在一旦yes的值為0,已判斷n中的值不是素數(shù)時,沒有及時退出循環(huán),返回0;因此,若在if子句中添加一條語句:break。就能解決這一問題,把if語句改寫如下:if(n%k==0){ yes=0。break。}else yes=1。(4)在所給fun函數(shù)中,當n的值為3時(都是素數(shù)),因為n/2的值為1(大于k中的2),所以不會進入for循環(huán),而直接執(zhí)行return語句,細心的讀者應(yīng)該可以發(fā)現(xiàn),這時yes沒有賦過值,也就是說,返回的是一個不確定的值,這將會導(dǎo)致錯誤;因此,應(yīng)當在定義語句中給yes賦初值1:int k,yes=1。 至此fun函數(shù)能正確運行。(5)總結(jié):因為一旦if語句中的表達式:n%k==0的值為1(即可被某數(shù)整除),則可以確定n不是素數(shù),因此即可返回,不必再執(zhí)行函數(shù)其他部分,if子句可改成:if(n%k==0){ yes=0。return yes。}else yes=1。 也可簡化成:if(n%k==0)return 0。else yes=1。又可進一步不用變量yes,并去掉else,簡化成():for(k=2。kreturn 1。【分析與解答】(1)若用整型變量c存放余數(shù),則求a被b除后的余數(shù)可用表達式:c=a%b。(2)本題要求編寫函數(shù)mymod用以求a被b除后的余數(shù)即:c=mymod(a,b)。(3)只要把a%b作為函數(shù)值返回即可完成操作():int mymod(int a, int b){ return a%b。}(4)總結(jié):本題在算法上十分簡單,只是要求讀者能夠掌握編寫函數(shù)的基本知識。【分析與解答】(1)本題所要采用的算法是累加。分析可見,所有累加項的分子都是1,而分母部分逐項增1;只是累加項的符號交叉變化。因此處理好符號的變化是完成操作的關(guān)鍵之一。(2)若函數(shù)名為funa,傳送到函數(shù)的參數(shù)是整型值,假定形參命名為n;函數(shù)的返回值應(yīng)當是浮點型,為此函數(shù)的首部可以是:double funa(int n)(3)接著寫函數(shù)體。累加放在一個for循環(huán)中來完成,若循環(huán)控制變量為k,可利用循環(huán)控制變量作為累加項t的分母,累加值放在add中:for(k=1。k?? t=s*。 add=add+t。 } 此處,s用作符號變量,在1和1之間交叉變化,t的值也將按要求變化符號。注意,因為每一項的絕對值必定是小于1的小數(shù)。(4)現(xiàn)在需要確定s的值。最簡單的可用表達式:s=s來實現(xiàn)(),若賦值號右邊s中的值為1,則賦值號左邊s中的值就得1;若賦值號右邊s中的值為1,則賦值號左邊s中的值就會得1;則每循環(huán)一次就使s改變了一次符號。當然還可有多種方法。把以上表達式添加到循環(huán)體中:for(k=1。ks=s。 t=s*。 add=add+t。 } (5)最后注意應(yīng)當給各變量賦以適當?shù)某踔?,并返回函?shù)值。(6)請編寫主函數(shù)。當傳給形參的值為10時,函數(shù)的返回值應(yīng)當是:。(7)總結(jié):本題的算法并不復(fù)雜,但是需要讀者掌握編寫函數(shù)的基本知識。掌握需要傳入函。數(shù)的參數(shù)及其類型,掌握需要返回的值及其類型。在此基礎(chǔ)上,其他方面與先前在主函數(shù)中編寫的程序沒有什么區(qū)別。 【分析與解答】(1)。函數(shù)的返回值為浮點型,函數(shù)只有一個形參,為整型。(2)函數(shù)的基本算法是累加,只是除第一項外其余各項都用減法;每一項的分子都是1,分母部分為k2,k的值逐項增1,由2變化到m。因此,算法可以用一個循環(huán)來實現(xiàn)。(3)當m的值為12時,函數(shù)值應(yīng)是:。【分析與解答】(1)若
點擊復(fù)制文檔內(nèi)容
外語相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1