C++邏輯推斷樣例_第1頁
C++邏輯推斷樣例_第2頁
C++邏輯推斷樣例_第3頁
C++邏輯推斷樣例_第4頁
已閱讀5頁,還剩98頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

?例題1?補充:邏輯判斷類題型解法?夏日炎炎,空調(diào)機走俏。5家空調(diào)機廠的產(chǎn)品在一次資料評比活動中分獲前5名.評前大家就已知道E廠的肯定不是第2名和第3名.A廠的代表猜:E廠的產(chǎn)品穩(wěn)獲第1名.B廠的代表猜:我廠可能獲得第2名.C廠的代表猜:A廠的質(zhì)量最差.D廠的代表猜:C廠的產(chǎn)品不是最好的.E廠的代表猜:D廠會獲得第1名.評比結(jié)果公布后發(fā)現(xiàn),只有獲得第I名和第2名的兩個廠的代表猜對了.請編程給出A,B,C,D,E各是多少名?設計變量A,B,C,D,E分別表示五個廠的名次,它們在[1⑸之間的整數(shù),又由于A、B,C、D,E互不相等,所以有A+B+C+D+E=15,A*B*C*D*E=120設計變量ta,tb,tc,td,te分別表示五個廠的預測,以A的猜想為例:“E廠的產(chǎn)品穩(wěn)獲第1名”,又因為“只有獲得第1名和第2名的兩個廠的代表猜對了”,可以將(A==MA==2)+(E=1)的值記錄在ta中,則ta要么為2,要么為〇C++代碼:#include<iostream>usingnamespacestd;intmain()(intA,B,C,D,E;〃分別用來表示A、B、C、D、E是第幾名?ME廠是第M?E??ME廠是第M?E?H名\n”;cout?endl;)))return0;)for(A=l;A<=5;A++)for(B=l:B<=5;B++)for(C=l;C<=5;C++)for(D=1;D<=5;D++)(E=15-A-B-C-D;if(E!=2&&E!=3&&A*B*C*D*E==120)ta=(A==1IIA=2)+(E=1);tb=(B==HIB==2);//B的預測肯定正確,不是第一就是第二tc=(C==HIC=2)+(A==5);td=(D==HID==2)+(C!=l);te=(E==1IIE=2)+(D=1);if(tb==l&&ta+tc+td+td==2){〃B的預測肯定正確,其它預測只有一個正確cout?HA廠是第"vvA?"名\n”?"B廠是第"vvBvv"名\n”?C廠是第”<vC<v"名\n”<v"D廠是第”vvDvv"名\n”題目ー:題目描述某地刑偵大隊對涉及六個嫌疑人的ー樁疑案進行分析:A、B至少有一人作案;A、E、F三人中至少有兩人參與作案:A、D不可能是同案犯;B、C或同時作案,或與本案無關(guān);C、D中有且僅有一人作案;如果D沒有參與作案,則E也不可能參與作案。試編ー程序,將作案人找出來。輸入描述無輸出描述作案人的字母代碼。如ACDF。題目二:題目描述5位跳水高手參加10米高臺跳水決賽,有好事者讓5人據(jù)實カ預測比賽結(jié)果。A選手說:B第二,我第三:B選手說:我第二,E第四;C選手說:我第一,D第二:D選手說:C最后,我第三;E選手說:我第四,A第一.決賽成績公布之后,每位選手的預測都只說對了一半,即ー對ー借。請編程解出比賽的實際名次。輸入描述無輸出描述按名次排序輸出。例如:52314C每人的名次之間有個空格,但最后一個名次4的后面沒有空格。C++作業(yè)設計題題目ー:題目描述某校的慣例是在每學期的期末考試之后發(fā)放獎學金。發(fā)放的獎學金共有五種,獲取的條件各自不同:1)院士獎學金,每人8000元,期末平均成績高于80分(>80),并且在本學期內(nèi)發(fā)表1篇或1篇以上論文的學生均可獲得:2)五四獎學金,每人4000元,期末平均成績高于85分(>85),并且班級評議成績高于80分(>80)的學生均可獲得:3)成績優(yōu)秀獎,每人2000元,期末平均成績高于90分(>90)的學生均可獲得;4)西部獎學金,每人1000元,期末平均成績高丁85分(>85)的西部省份學生均可獲得;5)班級貢獻獎,每人850元,班級評議成績高于80分(>80)的學生干部均可獲得;只要符合條件就可以得獎,每項獎學金的獲獎人數(shù)沒有限制,每名學生也可以同時獲得多項獎學金。例如姚林的期末平均成績是87分,班級評議成績82分,同時他還是一位學生干部,那么他可以同時獲得五四獎學金和班級貢獻獎,獎金總數(shù)是4850元.現(xiàn)在給出若干學生的相關(guān)數(shù)據(jù),請計算哪些同學獲得的獎金總數(shù)最高(假設總有同學能滿足獲得獎學金的條件)。輸入描述輸入的第一行是ー個整數(shù)N(1<=N<=100),表示學生的總數(shù)。接下來的N行每行是一位學生的數(shù)據(jù),從左向右依次是姓名,期末平均成績,班級評議成績,是否是學生干部,是否是西部省份學生,以及發(fā)表的論文數(shù)。姓名由一個英文字母代表;期末平均成績和班級評議成績都是〇至り100之間的整數(shù)(包括〇和100);是否是學生干部和是否是西部省份學生分別用ー個字符表示,Y表示是,N表示不是;發(fā)表的論文數(shù)是〇到10的整數(shù)(包括〇和10)。每兩個相鄰數(shù)據(jù)項之間用ー個空格分隔。輸出描述輸出包括三行,第一行是獲得最多獎金的學生的姓名(ー個字母代表),第二行是這名學生獲得的獎金總數(shù)。如果有兩位或兩位以上的學生獲得的獎金最多,輸出他們之中在輸入文件中出現(xiàn)最早的學生的姓名。第三行是這N個學生獲得的獎學金的總數(shù)。提示:定義變量max保存口前最大的獎金,定義charname保存口前最大獎金學生姓名的字母,定義變量count保存目前的獎金總和。每次接受一個學生的信息,則計算獎金后與max進行比較。輸入樣例4Y8782YN0C8878NY1L9288NN0Z8387YN1輸岀樣例C9000cin?name?a?b?master?west?c;p=0;cin?name?a?b?master?west?c;p=0;if(a>80&&c>=1)用戶代碼(邏輯推斷最后一#include<iostream>usingnamespacestd;intmain(){intA,B,C,D,E,F;for(A=0;A<=l;A++)for(B=0;B<=l;B++)for(C=0;C<=l;C++)for(D=0;D<=l;D++)for(E=0;E<=l;E++)for(F=0;F<=l;F++)28700用戶代碼#include<iostream>usingnamespacestd;intmain(){inta,b,c,max=0,p,count=0,n,i;charname,west,master,ling_name;cin?n;for(i=1;i<=n;i++)題目ー:題目描述某地刑偵大隊對涉及六個嫌疑人的ー樁疑案進行分析:A、B至少有一人作案:A、E、F三人中至少有兩人參與作案;A、D不可能是同案犯:B、C或同時作案,或與本案無關(guān):C、D中有且僅有一人作案;如果D沒有參與作案,則E也不可能參與作案。試編ー程序,將作案人找出來。輸入描述:無輸出描述:作案人的字母代碼。如ACDFop=8000;)p=8000;)if(a>85&&b>80)(p+=4000;)if(a>90)(p+=2000;)if(a>85&&west=='Y')(p+=1000;}if(b>80&&master=='Y')(p+=850;)count+=p;if(p>max)(max=p;ling_name=name;}}cout<<ling_name?'\n'?max?,\n'?count?ereturn0;if((A+B>=1)&&(A+E+E>=2)&&(A+D!=2)&&((B4-C==2)ll(B4-C==0))&&(C+D=1))(if(D=0)(if(E==0)|if(A=l){cout?MAM;}if(B==l){cout?,,BH;}if(C==l){cout?MC";}if(D==l){cout?"Dn;}if(F==l){cout?HFM;}))else(if(A=l){cout?MAM;}if(B==l){cout?nB";}if(C==l){cout?MC";)if(D==l){cout?MDn;}if(E=l){cout?nEw;}if(F==l){cout?"F,;))cout?endl;用戶代碼用戶代碼2:#include<iostream>usingnamespacestd;intmain()(inti,n,s,t,k,p,m=l;cin?n;for(i=l;i<=n;i++){t=l;m=2*m;s=m/2;for(k=l;k<=s;k++)(t=2*t;)p=t+l;cout?p?endl;}return0;題目二:題口描述費馬數(shù)是ー個正整數(shù)序列{Fn},它的表達式為Fn=2'2'n+1,n=0,1,2,...編寫程序,輸出前k個費馬數(shù)F0,Fl,F2,...要求:1、不能使用指數(shù)函數(shù)power2、不能使用査表法,必須在程序里計算費馬數(shù)3、提示,編寫函數(shù)intfun(inti),實現(xiàn)求解2的i次方的功能.4、提示,2"2"n+l的函數(shù)調(diào)用則為fun(fun(n))+l?輸入描述非負整數(shù)k,注意:輸入只有一個k,不需使用while(cin?k)?輸出描述前k個費馬數(shù)輸入樣例3輸出樣例3517用戶代碼1:#include<iostream>usingnamespacestd;staticn;intfun(intn){inti,p=1;for(i=1;i<=n;i++)(p=2*p;}returnp;)intmain()(intt,k,s;cin?k;for(n=0;n<=k-1;n++)(t=fun(fun(n))+1;cout?t?endl;}return0;)

題目三:題目描述假設a、b、c均為整數(shù),且滿足a,b,c大于1,并且小于等于100,找出所有符合條件:“a的平方+b的平方=c的平方”的整數(shù)組。輸入描述無輸出描述按a從小到大的順序輸出所有滿足條件的整數(shù)組(若a相同,則按b從小到大的順序輸出),每行…組,每ー組數(shù)據(jù)的輸出樣式為:3*3+4*4=5*5注意:1)3*3+4*4=5*5和4*4+3*3=5*5是同一組數(shù)據(jù),后者不要輸出;2)加號和等號左右各有一個空格3)9*9+12*12=15*15(在前)輸入樣例無輸出樣例無9*9+40*40=41*41輸入樣例無輸出樣例無用戶代碼#include<iostream>#include<cmath>usingnamespacestd;intmain(){inta,b,c;doublep;for(a=2;a<=100;a++)(for(b=a+1;b<=l00;b++)(p=a*a+b*b;if(sqrt(p)<=100&&b>=a&&sqrt(p)==(int)sqrt(p))|c=(int)sqrt(p);cout?a?*,*"?a?,'+,'?b?',**,?b?n=,,?c?,,**,?c?endl;return0;

題目四:題目描述打印菱形圖案,禁止使用setw,禁止采用cout--次輸出多個“*”。只能用ー次coutー個空格的形式循環(huán)的輸出前面的空格?!?”也只允許用cout一次輸出ー個。輸入描述總行數(shù)n,n為〉=3的奇數(shù)輸出描述輸出n輸出描述輸出n行的菱形圖案。每個?后面跟有一個空格。備注:樣例輸出中第一行的*前面應該有2個空格,此處顯示有問題,修改不過來,抱歉。輸入樣例5輸出樣例***★*#include<iostream>#include<cmath>usingnamespacestd;intmain(){intn,i,p;cin?n;if((n+l)%2=0){fbr(i=l;i<=n;i-H-){for(p=1;p<=(n+1)/2;p++)(if(p>abs((n+1)/2-i)){cout?n*M;}if(p!=(n+l)/2){cout?n";}}cout?endl;#include<iostream>usingnamespacestd;intmain()(intn,i,p,t;cin?n;if((n+l)%2==0)(for(i=l;i<=n;i++)(for(p=l;p<=abs((n+l)/2-i);p++)(coutvv"”;)for(t=l;t<=(n+1)/2-abs((n+1)/2-i);t++){cout?n*";)cout?endl;))return0;)

題目六:題冃描述編寫函數(shù),參數(shù)為ー個整數(shù),返冋這個整數(shù)的反序數(shù),例如參數(shù)是1576,返回ー個整數(shù)6751,如果輸入時1230,則返回321。在main函數(shù)中調(diào)用此函數(shù),并將結(jié)果輸出°輸入描述ー個整數(shù)輸出描述它的反序數(shù)提示:需要保留數(shù)字的符號。負數(shù)的反序數(shù)仍然是負數(shù),正數(shù)的反序數(shù)不用添加符號。要求以子函數(shù)的形式計算此反序數(shù),子函數(shù)的形式為:intreverse(intnum);輸入不會超出int的大小.因為有多組測試數(shù)據(jù),讀取輸入的時候建議采用如輸入不會超出int的大小.因為有多組測試數(shù)據(jù),讀取輸入的時候建議采用如下形式:inti=0;while(cin?i)(〃你的代碼輸入樣例0123100-23-0-100輸出樣例03211-320-1#include<iostream>#include<cmath>usingnamespacestd;intreverse(intnum);intmain()(intnum,p;while(cin>>num)(p=reverse(num);cout?p<<endl;}return0;)intreverse(intnum){inti=0,s,p=0,x;while(num/(int)pow(lO.0,(double)i)!=0)(x=num/(int)pow(lO.0,(double)i);s=x%10;p=s+p*10;i++;)returnp;

題目?:題目描述有一個分數(shù)序列2/1,3/2,5/3,8/5,13/8,21/13,....求這個分數(shù)序列的前n項之和。輸入描述輸入有?,行:正整數(shù)n。輸出描述輸出有一行:分數(shù)序列的和(浮點數(shù),精確到小數(shù)點后4位)可以使用printf(“%41f\n",a)輸出浮點數(shù)并精確到小數(shù)點后4位使用printf函數(shù)必須包括#includeくstdio.h>#include<iostream>usingnamespacestd;intmain(){intA,B,C,D,E;intta,tb,tc,td,te;for(A=#include<iostream>usingnamespacestd;intmain(){intA,B,C,D,E;intta,tb,tc,td,te;for(A=1;A<=5;A++)for(B=1;Bv=5;B++)for(C=l;C<=5;C++)for(D=l;D<=5;D++){E=15-A-B-C-D;輸入樣例99輸出樣例160.4849用戶代碼#include<iostream>#include<stdio.h>usingnamespacestd;intmain()(doublem,s,d=0,p;intt,n;m=2;s=1;cin?n;for(t=1;t<=n;t++)(d+=m/s;p=m;m+=s;s=p;}printf("%.4lf\n",d);5位跳水髙手參加10米髙臺跳水決賽,有好事者讓5人據(jù)實カ預測㈱結(jié)果。A選手說:B第二,我第三;B選手說:我第二,E第四;C選手說:我第一,D第二;D選手說:C最后,我第三;E選手說:我第四,A第一。決賽成績公布之后,每位選手的預測都只說對了一半,即ー對ー錯。請編程解出㈱的實際名次。輸入描述:輸出描述按名次排序輸出。例如:52314。人的名次之間有個空格,但最后一個名次4的后面沒有空格if((A==HIE==4)&&A*B*C*D*E==120)(ta=(B==2)+(A==3);tb=(B==2)+(E==4);tc=(C==l)+(D=2);td=(C==5)+(D==3);te=(E==4)+(A==1);if(ta=1&&tb==l&&tc==1&&td==l&&te==1)(cout?A?HH?B?nn?C?Hn?D?n"?E?endl;))return0;

題目ハ:題目描述求Sn=a+aa+aaa+…+aa…a的值(最后一個數(shù)中a的個數(shù)為n),其中a是一個1、9的數(shù)字,例如:2+22+222+2222+22222(此時a=2n=5)輸入描述一行,包括兩個整數(shù),第一個為a,第2個為n(1Wa,nく9),以空格分隔。輸出描述一行,隔。輸出描述一行,Sn的值。輸入樣例25輸出樣例24690用戶代碼#include<iostream>usingnamespacestd;intmain()(inta,n,sum,i,p,s;doubled;sum=i=p=0;cin?a?n;while(i<n)(d=0.1;for(s=0;s<=i;s++)(d=10*d;}sum+=a*d;p+=sum;i++;}cout?p?endl;用戶代碼1(哥德巴赫猜想)#include<iostream>usingnamespacestd;staticintx;voidconclude_p()(intn,t,i,p;i=2;while(i<=x/2){i++;for(t=2;t<i;t++)(if(i%t==O)break;if(i=t+l)return;)〃然后鍵入主函數(shù)intmain(){cin?x;if(x%2==0&&x>=6&&x<=2000){conclude_p();}else{cout?"Error!"?endl;}return0;)p=x-i;fbr(n=2;n<p;n++)(if(p%n==O)break;if(p==n+l)(cout?x?,,=,'?i?',+',?p?endl;))}#include<iostream>#include<iostream>usingnamespacestd;intmain(){intx;cin?x;if(x%2==0&&x>=6&&x<=2000){intn,t,i,p;三2;while(i<=x/2){i++;for(t=2;t<i;t++){if(i%t==O)break;if(i=t+l){p=x-i;for(n=2;n<p;n++){if(p%n==O)break;if(p=n+1&&i<=p){cout?x?,,=,'?i?,,4-,,?p?endl;;})}}))else(cout?,'Error!,,?endl;)題目九:題目描述驗證“歌德巴赫猜想”,即:任意ー個大于等于6的偶數(shù)均可表示成兩個素數(shù)之和。輸入描述輸入只有一個正整數(shù)x。(x<=2000)輸出描述如果x不是“大于等于6的偶數(shù)”,則輸出ー行:Error!否則輸出這個數(shù)的所有分解形式,形式為:x=y+z其中X為待驗證的數(shù),y和Z滿足y+z=x,而且y〈=z,y和z均是素數(shù)。如果存在多組分解形式,則按照y的升序輸出所有的分解,每行一個分解表達式。注意輸出不要有多余的空格輸入樣例輸入樣例1:7輸入樣例2:10輸入樣例3:100輸出樣例輸出樣例1:Error!輸出樣例2:10=3+710=5+5輸出樣例3:100=3+97100=11+89100=17+83100=29+71100=41+59100=47+53用戶代碼}華中農(nóng)業(yè)大學!1級信息實驗四1.10分今天星期幾(專業(yè)C++實驗4-預作)題目描述編寫ー個原型為intweek(intyear,intmonth,intday);的函數(shù)和相應的main函數(shù),其功能是計算并返回year年month月day日的星期.(1、...、6、7依次表示為星期1、…、星期6、星期7).提示:從公元1年1月1日到y(tǒng)ear年的1月1日所經(jīng)歷的總天數(shù)n的求解方法如下:n=365*(year-1)+(year-1)/4-(year-1)/100+(year-1)/400+1;輸入描述yearmonthday輸出描述星期1、星期2 星期6、星期7中的ー個輸入樣例:2011113輸出樣例:星期4用戶代碼^include<iostream>usingnamespacestd;intweek(intyear,intmonth,intday);〃聲明調(diào)用函數(shù)intmainO(ints,year,month,day;cin?year?month?day;sfeek(year,month,day);if(s%7=0){coutくぐ星期?*?endl;}else{coutくく"星期"くくs%7くくendl;}return0;}intweek(intyear,intmonth,intday)(inta[ll]={31,28,31,30,31,30,31,31,30,31,30},i,s,p=0;〃定義數(shù)組表示每個月的天數(shù),還好數(shù)不是很多,直接表示就行了,if(year5b400=0||(year%100!=04&year*4=0))〃閏年是讓二月是29天.{a[l]=29;}for(i=0;iくmonth-l;i++)〃計算到month月1號共多少天;{p+=a[i];}s=365*(year-1)+year/4+year/400-year/100+p+day;returns;(10分)打印極值點下標(專業(yè)C++實驗4-預作)題目描述在ー個整數(shù)數(shù)組上,對于下標為i的整數(shù),如果它大于所有它相鄰的整數(shù),或者小于所有它相鄰的整數(shù),則稱為該整數(shù)為ー個極值點,極值點的下標就是ム輸入描述有2Xn+l行輸入:第一行是要處理的數(shù)組的個數(shù)n;對其余2Xn行,第一行是此數(shù)組的元素個數(shù)k(4<k<80),第二行是k個整數(shù),每兩個整數(shù)之間用空格分隔.輸出描述榆出為n行:每行對應于相應數(shù)組的所有極值點下標值,下標值之間用空格分隔。輸入樣例3101012121111122324121215121212211222221122222176363123425676761512141221122222222222217636312342567673輸出樣例07234561012023101214用戶代碼ftinclude<iostream>usingnamespacestd;intmainO{intn,a[100],k,i=0,明〃定義數(shù)組,要把下標盡量寫得大些,嘗試過用動態(tài)數(shù)組,但是好像不得分,就用到這個了;cin?n;while(i<n)(cin?k;for(m=0;m<k;m++)cin?a[m];for(m=0;m<k;m++)if((m=0&&(a[m]!=a[m+l]))11(m=k-l&&(a[m]!=aDn-l])))〃此處也出現(xiàn)過錯誤,把!n=k-l寫成了m=k-l.結(jié)果造成死循環(huán),〃因為第一個he最后一個很特別,所以單獨拿出來考慮;|cout?m?**:}if(m>O&&m<k-l)(if((a[m]-a[m-l])*(a[m]-a[m+lj)>0)〃感覺這里的這個判斷很好用,如果直接用那個a[m"a[m-l]等等就會顯得很繁瑣;(cout?m?>})}cout?endl;i++;〃這個語句是用來跳出while循環(huán)的,當時就忘記寫了,以后要注意;)return0;}(10分)冒泡排序(專業(yè)C++實驗4用作)題目描述對數(shù)組中的數(shù)據(jù),用冒泡法按遞增序列排序.輸入描述第一行是數(shù)據(jù)元素的個數(shù)n,第二行是這n個數(shù)據(jù).輸出描述輸出排序過程中每ー趟的排序結(jié)果.注意:排序二字后的分號是中文狀態(tài)下的分號,每個數(shù)據(jù)間有一個空格.輸入樣例6859317輸出樣例第1題排序:583179第2短排序:531789第3題排序:315789第4短排序:135789排序后結(jié)果:135789用戶代碼#include<iostream>usingnamespacestd;intmainO{intn,*a,p,temp,i=l,m;a=newint[p];cin?n;for(p=0;p<n;p++)(cin>>a[p];}while(l){m=O;〃此處的錯誤可謂之重要,很久沒找出,造成死循環(huán)1'〇!'8=0;卩0-1ゆ++)〃此處的for循環(huán)是為了排序,即冒泡排序法;(if(a[p]>a[p+l])(temp=a[p];a[p]=a[p+l];a[p+l]=temp;}coutくく"第"くくiくく"趟排序:";for(p=0;p<n;p++){cout?a[p]?")cout?endl;for(p=0;p<n-l;p++)〃設置跳出循環(huán)的條件(if(a[p]<a[p+l]){m++;}}if(m=n-1)break;i++;)coutくく”排序后結(jié)果:";for(p二〇;pくn;p++){cout<<a[p]?*";數(shù)組逆序存放(專業(yè)C++實驗4用作)題目描述請編寫ー個函數(shù)voidReverse(inta[],intn);將一個數(shù)組中的值按逆序重新存放。例如,原來的順序為&6,5,4,1.要求改為1,4,5,6,8.備注:不允許申請其他額外的數(shù)組空間,數(shù)組的輸入和輸出均需在main函數(shù)中進行.輸入描述輸入為兩行:第一行數(shù)組中元素的個數(shù)n(l<n<100),第二行是n個整數(shù),每兩個整數(shù)之間用空格分隔.輸出描述輸出為一行:輸出逆序后數(shù)組的整數(shù),每兩個整數(shù)之間用空格分隔.輸入樣例586541輸出樣例14568用戶代碼ftinclude<iostream>usingnamespacestd;voidReverse(inta[],intn);〃函數(shù)聲明intmainO(intn,p[100],a;cin?n;for(a=0;a<n;a++){cin?p[a];}Reverse(p,n);〃調(diào)用函數(shù)for(a=0;a<n;a++)(coutくくp[a]くく”)return0;}voidReverse(inta[],intn)〃此函數(shù)的作用是把順序變成逆序(inti,temp;for(i=0;i<n/2;i++)temp=a[i];a[i]=a[n-l-i];a[n-l-i]=temp;

求高于平均分的人數(shù)。(專業(yè)C++實驗4ー預作)題目描述設計函數(shù)intfun(intsロ,intn),數(shù)組s中存放n個學生的成績。求高于平均分的人數(shù),并作為函數(shù)值返回.數(shù)組s的值由主函數(shù)從鍵盤輸入,用ー1來結(jié)束輸入.輸入描述輸入ー串學生成績后以ー1結(jié)束輸入輸出描述某個整數(shù)輸入樣例6070808090-1輸出樣例3用戶代碼ttinclude<iostream>usingnamespacestd;intfun(ints[],intn);intmainO(int*p,a,i;p=newint[i];for(i=0;;i++)(cin?p[i];if(p[i]=~l)break;)a=fun(p,i);cout?a?endl;)intfun(ints[],intn)(inta,sum=O,i=0;doubleaver;for(a=0;a<n;a++){sum+=s[a];}aver=double(sum)/n;cout?aver?endl;for(a=0;a<n;a++)(if(s[a]>aver){ i++;cout?s[a]?>#include<iostream>usingnamespacestd;intfun(ints[],intn){#include<iostream>usingnamespacestd;intfun(ints[],intn){inti,sum=0,p=0;doubleaver;for(i=0;i<n;i++){sum+=s[i];}aver=l.0*sum/n;〃計算平均分for(i=0;i<n;i++){if(aver<s[ij){P++;}}returnp;〃返回值恰好是分數(shù)大于平均分的人數(shù)}intmain(){ints[l00],n,count;for(n=0;;n++){cin?s[n];if(s[n]==-l)break;〃表示當輸入到-1時可以結(jié)束輸入;)count=fun(s,n);〃調(diào)用函數(shù),實現(xiàn)功能cout?count?endl;return0;}returni;(10分)電梯(專業(yè)C++實驗4)題目描述有一部電梯,每往上一層需要6秒鐘,每往下ー層需要4秒,每開一次門需要5秒,假設現(xiàn)在電梯內(nèi)有N個人,并且知道各自的需求,請計算完成本趟運行所需要的時間.特別說明:1?假設最開始電梯在〇層;2、完成所有請求后電梯需要回到0層;3、到同一樓層的人不管有幾人,電梯開門的時間總共只需要5秒.輸入描述輸入數(shù)據(jù)首先包含ー個整數(shù)N(0<N<=10),表示電梯內(nèi)的人數(shù),然后是N個人要到的樓層Si(K=Si<=100).輸出描述請計算并輸出完成本趟運行需要的時間.輸入樣例42222輸出樣例25提示:樣例中4個人都是到2樓,所以上行需要12秒,開門需要5秒,電梯再下來回到〇層需要8秒,所以答案是25秒.用戶代碼#include<iostream>usingnamespacestd;intmainO(intN,i,j,a[10],p=0,temp,sum;〃這個P的初始值不應該是1嗎?怎么老是感覺錯?誤cin?N;for(i=0;i<N;i++)|cin?a[i];)for(i=0;i<N;i++){for(j=0;j<N-l:j++)(if(a[j]>a[j+l])temp=a[j+l];a[j+l]=a[j];a[j]=temp;}for(i=0;i<N;i++){if(a[i]<a[i+U)|p++;})sum=p*5+a[NT]*10;cout?sum?endl;return0;)(10分)數(shù)列有序(專業(yè)C++實驗4)題目描述編寫ー個函數(shù)voidInsert(intaロ,intn,intm);實現(xiàn)如下功能:a數(shù)組里存放有n(nく=100)個數(shù)據(jù),已經(jīng)按照從小到大的順序排列好.現(xiàn)在另外給ー個整數(shù)m,將該數(shù)插入到這個序列中,使新序列仍然有序.若該數(shù)據(jù)在原來的序列里出現(xiàn)過,也需要插入.在主函數(shù)里實現(xiàn)數(shù)據(jù)的接收和最終結(jié)果的顯示輸出.輸入描述測試數(shù)據(jù)由2行構(gòu)成,第一行是n和m,第二行是已經(jīng)有序的n個數(shù)的數(shù)列.輸出描述輸出插入新的元素后的數(shù)列.輸入樣例57246910輸出樣例2467910用戶代碼#include<iostream>usingnamespacestd;voidInsert(inta[],intn,intm);〃聲明調(diào)用函數(shù)intmain()(inta[101],p,m,n,*x;cin?n?p;for(m=0;m<n;m++)|cin?a[m];)Insert(x,n,p);for(m=0;m<n+l;m++){cout?a[m]?*}cout?endl;return0;}voidInsert(inta[],intn,intm)(inti,p;for(i=0;i<n;i++)|if(m<a[i]){p=a[i];a[i]=m;m=p;}if(i=n){a[n]=m;}}}(10分)楊輝三角(專業(yè)C++實驗4)題目描述還記得中學時學過的楊輝三角嗎?具體的定義這里不在描述,你可以參考以下的圖形:1112113311464115101051備注:此題要求用ー維數(shù)組或者是二維數(shù)組實現(xiàn).輸入描述測試實例的輸入只包含一個正整數(shù)n(l<=n<=30)輸出描述對于每ー個輸入,請輸出相應層數(shù)的楊輝三角,每ー層的整數(shù)之間用ー個空格隔開.輸入樣例3輸出樣例111121用戶代碼#include<iostream>usingnamespacestd;intmain()

inti,j,n,a[30][30];〃定義一個二維數(shù)組,用來存放楊輝三角的每一行數(shù)cin?n;for(i=0;i<n:i++)組這些位置的值)會自己找錯誤,for(i=2;i<n;i++)出錯組這些位置的值)會自己找錯誤,for(i=2;i<n;i++)出錯了〃由于粗心,剛開始細節(jié)中的錯誤還是比校多的,但是要學〃比如輸出n=5,但是得到ー些英明的數(shù)字,這時要想到是哪〃常用的方法就是添加一些cout?語句,再運行一下,看一看輸出的數(shù)是不是你要的結(jié)果;for(j=l:j<i;j++)a[i][j]=a[i-l][j-l]+a[i-l][j];〃發(fā)現(xiàn)規(guī)律,或者已經(jīng)知道這個算法,上一行相鄰的兩個數(shù))} 〃之和是下一行的某個數(shù),這是楊輝三角的特征;既是我們要的算法;for(i=0;i<n;i++)for(j=0;j<i+l;j++)(cout?a[i][j]?*]〃最后用循環(huán)語句輸出每個數(shù);)cout?endl;//endl在這表示每一行輸出完就開始換行,進行下一行的輸出;return0;}(10分)密碼(專業(yè)C++實驗4)題目描述假設ー個比較安全的密碼至少應該滿足下面兩個條件:(1)密碼長度大于等于8,且不要超過16.(2)密碼中的字符應該來自下面“字符類別”中四組中的至少三組.這四個字符類別分別為:.大寫字母:A,B,C...Z;.小寫字母:a,b,c...z;.數(shù)字:0,1,2...9;.特殊符號:給你ー個密碼,你的任務就是判斷它是不是ー個安全的密碼.輸入描述每組測試實例包含一個密碼(長度最大為50),密碼僅包括上面的四類字符.輸出描述對于每個測試實例,判斷這個密碼是不是ー個安全的密碼,是的話輸出YES,否則輸出NO.注意:測試數(shù)據(jù)只有一個串,不需要用循環(huán)實現(xiàn)多次判斷.輸入樣例alb2c3d4Hzau@ACM輸出樣例NOYES用戶代碼#include<iostream>usingnamespacestd;intmainO(inti,a,b,c,d,n;charstring[50];〃字符串要求是50以內(nèi)的,故定義字符串數(shù)組時時這樣的a=b=c=d=i=n=0;cin?string;〃字符串數(shù)組時可以聚集輸入的,這個不同于整形數(shù)組要用for循環(huán)輸入while(string[i]!=‘、〇’)〃因為字符竄是以‘、〇’結(jié)束的,故此語句是可以計算出字符串的長度,用i記錄下來{i++;}〃但是有疑問:當字符串里面包含。字符怎么辦?是不是提前結(jié)束?if(iく8){coutくく"NO"?endl;}〃當輸入的字符串長度小于8時肯定是不安全,故輸出N0;else〃當字符聿長度大于等于8時開始另外判斷,(for(n=0;n<i;n++){if(string[n]>='a'&&string[n]<="z')〃如果字符竄里面有小寫字母,就令a=l,{a=l;} 〃否則還是為〇這樣就能很好記錄下來是否有這種字符了elseif(string[n]>=*A'&&string[n]<='Z'){b=l:}elseif(string[n]>='0'&&string[n]<='9'){c=l;}else{d=l;})n=a+b+c+d;〃這表明如果n>=3的話就應該有3種以上字符,所以密碼是安全的if(n>=3){cout?"YES"?endl;}else{cout?"NO"?endl;}}return0;(10分)回文本(專業(yè)C++實驗4)題目描述"回文串”是ー個正讀和反讀都一樣的字符串,比如"level"或者"noon"等等就是回文串.請寫ー個函數(shù)boolHuiWen(char*s)判斷讀入的字符串是否是"回文".注意:字符串的輸入在主函數(shù)里進行.輸入描述每組測試數(shù)據(jù)包含一個字符串.輸出描述如果ー個字符串是回文串,則輸出"yes",否則輸出"no".輸入樣例levelabodenoonhaha輸出樣例yesnoyesno用戶代る#include<iostream>usingnamespacestd;boolHuiwen(charstring[])(intlen=0,i,p=0;while(string[len]!=O)(len++;}for(i=0;i<len/2;i++)(if(string[i]==string[len-i-l]){P++;})if(p==len/2){return1;}else{return0;})intmain()charstring[100];intn;cin?string;n=Huiwen(string);n==l?(cout?MyesM?endl):(cout?,,noH?endl);return0;}華中農(nóng)業(yè)大學信息專業(yè)第五次實驗(10分)腫瘤檢測(專業(yè)C++實驗5ー預作)題目描述ー張CT掃描的灰度圖像可以用ー個N*N(0〈Nく100)的矩陣描述,矩陣上的毎個點對應ー個灰度值(整數(shù)),其取值范圍是0-255.我們假設給定的圖像中有且只有一個腫瘤.在圖上監(jiān)測腫瘤的方法如下:如果某個點對應的灰度值小于等于50,則這個點在腫瘤上,否則不在腫瘤上.我們把在腫瘤上的點的數(shù)目加起來,就得到了腫瘤在圖上的面積.任何在腫瘤上的點,如果它是圖像的邊界或者它的上下左右四個相鄰點中至少有一個是非腫瘤上的點,則該點稱為腫瘤的邊界點.腫瘤的邊界點的個數(shù)稱為腫瘤的周長.現(xiàn)在給定一個圖像,要求計算其中的腫瘤的面積和周長.輸入描述輸入第一行包含ー個正整數(shù)N(0<N<100),表示圖像的大小;接下來N行,每行包含圖像的一行.圖像的一行用N個整數(shù)表示(所有整數(shù)大于等于〇,小于等于255),兩個整數(shù)之間用ー個空格隔開.輸出描述輸出只有一行,該行包含兩個正整數(shù),分別為給定圖像中腫瘤的面積和周長,用ー個空格分開.輸入樣例6999999999999999999509999999949495051995020255299405099999999999999999999輸出樣例98用戶代碼#include<iostream>usingnamespacestd;template<typenameT>T**&CIN(T**&p,intn,intm)(p=newT*[n]:if(p==NULL)returnp;p[O]=newT[n*m];if(p[O]=NULL)(delete[]p;returnp=NULL;)for(inti=l;i<n;i++)p[i]=p[0]+i*m;returnp;}intmain()(inta,n,m,i,j,**p,d;a=d=0;cin?n:CIN(p,n,n);if(n>0&&n<100)//n的值有范圍(for(i=0;i<n;i++)|for(j=0;j<n;j++)(cin?p[i][j]:)//if(p[i][j]<0||p[i][j]>255)return1;〃滿足題目條件為了限制輸入的數(shù)是0-255之間)for(i=0;i<n;i++){for(j=0;j<n;j++)if(p[il[j]<=50){a++;)if(i!=0&&i!=n-l&&j!=0&&j!=n-l)〃都是判斷條件if(p[i-l][j]<=50&&p[i+l][j]<=50&&p[i][j-l]<=50&&p[i][j+l]<=50){d++;})})d=a-d;cout?a?**?d?endl;)return0;}〃我的問題是:肯定有一定的語法不合格,但是對于數(shù)組很是迷茫,不是很好懂,而且困惑ー維數(shù)組的定義:a[n],其中n不能是變量,〃但是我今天運行了一下,發(fā)現(xiàn)MinGW檢査不出這種錯誤,為什么?而且我的這種常量的引用正不正確?〃希望學長給我解答呵呵謝謝了(10分整數(shù)奇偶排序(專業(yè)C++實驗5ー預作)題目描述輸入n個整數(shù),彼此以空格分隔重新排序以后輸出(也按空格分隔),要求:.先輸出其中的奇數(shù),并按從大到小排列;.然后輸出其中的偶數(shù),并按從小到大排列.輸入描述數(shù)據(jù)個數(shù)n和任意排序的n個整數(shù)(0?100),彼此以空格分隔,個數(shù)為〇時結(jié)束.輸出描述按照要求排序后輸出,由空格分隔提示.測試數(shù)據(jù)可能有很多組,請使用while(cin?n)類似的做法來實現(xiàn);.輸入數(shù)據(jù)隨機,有可能相等..必須使用堆數(shù)組(動態(tài)數(shù)組)..自行定義如下的2個函數(shù)分別實現(xiàn)數(shù)據(jù)的奇偶數(shù)調(diào)整和排序.intAdjust(int*a,intn);函數(shù)功能:實現(xiàn)對指針a所指數(shù)組的n個整型數(shù)據(jù)元素進行奇偶數(shù)的調(diào)整,使奇數(shù)放在左邊,偶數(shù)放在右邊,并返回偶數(shù)的第一個數(shù)據(jù)元素所處的數(shù)組下標或者奇數(shù)的最后ー個數(shù)據(jù)元素所處的數(shù)組下標.voidSorting(int*a,intn,intloc);函數(shù)功能:實現(xiàn)對指針a所指數(shù)組的n個整型數(shù)據(jù)進行ー定規(guī)則的排序.使得前面的奇數(shù)按從大到小排序,后面的偶數(shù)按從小到大排序.參數(shù)loc表示最后ー個偶數(shù)數(shù)據(jù)元素的下標或者第一個奇數(shù)數(shù)據(jù)元素的下標.輸入樣例104731311120473498684731340輸出樣例47131173041234981373448用戶代碼#include<iostream>usingnamespacestd;intAdjust(int*a,constintn);voidSorting(int*a,intn,intloc);intmain()(intn,*p,d,i;while(cin?n)(if(n=0)break;p=newint[n];for(i=0;i〈n;i++){cin?p[i];}d=Adjust(p,n);Sorting(p,n,d);for(i=0;i<n;i++){cout?p[i]?*”;}cout?endl;〃coutくく“榆出的是:"?d;)return0;}intAdjust(int*a,intn)(int*b,i,j=0,k=l;b=newint[n];for(i=0;i<n;i++)(if(a[i]%2!=0){b[j]=a[ij;j++;)else{b[n-k]=a[i];k++;})for(i=0;i<n;i++){a[i]=b[i];)〃coutくく”輸出的是://for(i=0;i<n;i++)//{cout?a[i]?"http://cout?endl;returnj-1;}voidSorting(int*a,constintn,constintloc)(inti,j,temp;i=j=0;for(i=0;i<loc;i++)(for(j=0;j<loc;j++)(if(a[j]<a[j+l]){temp=a[j];a[j]=a[j+l];a[j+l]=temp;}))for(i=loc+l;i<n;i++)(for(j=loc+l;j<n-l;j++)(if(a[j]>a[j+l])(temp=a[j];a[j]=a[j+l];a[j+l]=temp:)))return;3. (10分)矩陣的加法(專業(yè)C++實驗5ー預作)題目描述矩陣inta[3][3],矩陣intb[3][3].矩陣的數(shù)據(jù)由用戶輸入.榆出矩陣和a=a+b.輸出格式:aOOaOla02alOallal2a20a21a22每個元素占4位.輸入描述矩陣aaOOaOla02alOallal2a20a21a22矩陣bbOObOlb02biObllbl2b20b21b22輸出描述把b加到a之上后的結(jié)果矩陣aaOOaOla02alOallal2a20a21a22提示:1.必須使用動態(tài)數(shù)組.輸出格式cout?setw(4)?a[i][j];.必須實現(xiàn)三個函數(shù)voidCIN(int**&a,int**&b,constintn);函數(shù)功能:矩陣a和b的n*n個數(shù)據(jù)元素的接收.voidADD(int**&a,constint**&b,constintn);函數(shù)功能:將n*n的矩陣a和b相加,結(jié)果存放到a中.voidCOUT(constint**&a,constintn);函數(shù)功能:輸出n*n的矩陣a中的每個數(shù)據(jù)元素.^include<iostream>#include<iomanip>usingnamespacestd;voidAPPLYfint*&a,intn)(a=newint[n^nj;intij;for(i=0;ivn;i++)ffar(j=O;j<n;j++)(cin>>a[i*n+j];}})voidADDfint^&a,intconstintn)(for(int/=0,7<77;z++)/fi)r(huj=O;j<n;j++),a[j+i*n]=a[j+i*n]+b[j+i*n];}f}voidCOUT(int^&a,constintn)輸入樣例3 forfintz=0;f</i;z++)123456 1789 for(intj=0;j<n;j++)789{cout?setHf(4)<<a[j+n*i];/cout?endl;

456123523452345234511111222200000123451234534567222220輸出樣例81012(最左邊有3個空格哦)TOC\o"1-5"\h\z8 10 128 10 122 3 4 54 6 8 104 6 8 105 6 7 84 4 4 4用戶代碼#include<iostream>#include<iomanip>usingnamespacestd;template<typenameT>T**&APPLY(T**&p,intn,intm)(p=newT*[n];if(p==NULL)returnp;p[0]=newT[n*m];if(p[0]=NULL)(delete[]p;returnp=NULL;)for(inti=l;i<n;i++)p[i]=p[0]+i*m;returnp;}intmain()(intmain()(intwhile(cin?n)(APPLY(a.n);APPLY(b,n);ADD(a,b,n);COUT(a,n);}delete[]a;delete[]h;return0;inti,j;for(i=0;i<n;i++)for(j=0;j<n;j++){cin?a[i][j];})for(i=0;i<n;i++){for(j=0;j<n;j++){cin?b[i][j];}voidADD(int**&a,int**&b,constintn)for(inti=0;i<n;i++)(for(intj=0;j<n;j++){a[i][j]=a[i][j]+b[i][j]:}voidCOUT(int**&a,constintn)(for(inti=0;i<n;i++)(for(intj=0;j<n;j++){cout?setw(4)?a[i][j];}cout?endl;)|intmainO(int**a,**b,n;while(cin?n){APPLY(a,n,n);APPLY(b,n,n);CIN(a,b,n);ADD(a,b,n);C0UT(a,n);|return0;}代碼2:#include<iostream>#include<iomanip>usingnamespacestd;voidCIN(int**&p,int**&q,constintn)(inti,j;for(i=0;i<n:i++)|for(j=0;j<n:j++)(cin?p[i][j];))for(i=0;i<n;i++)|for(j=0;j<n;j++)(cin?q[i][j];))}voidADD(int**&a,int**&b,constintn)(for(inti=0;i<n;i++)|for(intj=0;j<n;j++){a[i][j]=a[i][j]+b[i][j];}))voidCOUT(int**&a,constintn)(for(inti=0;i<n;i++)|for(intj=0;j<n;j++){cout?setw(4)?a[i][j];}cout?endl;)}intmain()(int**a,**b,n,i;while(cin?n){a=newint*[n];b=newint*[n];for(i=0;i<n;i++)|a[i]=newint[n];b[i]=newint[n];}CIN(a,b,n);ADD(a,b,n);COUT(a,n);)for(i=0;i<n;i++)(delete[]a[i];delete[]b[i];}delete[]a;delete[]b;return0;}(10分)字符串中的數(shù)字(專業(yè)C++實驗5ー預作)題目描述輸入ー個字符串,長度不超過20,字符串中包含數(shù)字和非數(shù)字字符,將其中是數(shù)字的字符提取出來,對它們進行從小到大排序,非數(shù)字字符則忽略不計.請編寫以下四個函數(shù):voidTiqu(char*str,int*a,int&n):函數(shù)功能:提取字符串str中的數(shù)字型字符,并轉(zhuǎn)換為整型數(shù)字后存放到數(shù)組a中,用n帶回a數(shù)組中數(shù)字的個數(shù).voidSwap(int*a,int*b);函數(shù)功能:交換a和b所指變量的值.voidSorting(inta[],constintn);函數(shù)功能:將數(shù)組a中的n個數(shù)據(jù)按從小到大的順序排好序.voidCOUT(inta[],constintn);函數(shù)功能:輸出a數(shù)組中的n個數(shù)據(jù)元素值.并在主函數(shù)中使用如下代碼:while(cin.getline(str,20,'\n'))(Tiqu(str,a,n);Sorting(a,n);COUT(a,n):}輸入描述若干行字符串輸出描述每ー個字符串中所有數(shù)字的升序排序.每個數(shù)字占四個字符位置.使用cout?setw(4)?num;處理完一行字符串換行一次.使用cout?endl;提示:在codeblocks中運行時,要結(jié)束程序,用ctrl+z鍵.輸入樣例31W7092D24dt51X9P輸出樣例1 2 2 3 7 9(最前面有4個空格哦)14 5 9用戶代碼#include<iostream>#include<iomanip>usingnamespacestd;voidtiqu(char*string,int*p,int&n);voidsorting(inta[],constint&n);voidCOUT(inta[],constint&n);intmainO{intn,a[21];charstring[21];while(cin.getline(string,20,''n'))(n=strlen(string);//cout?n?endl;tiqu(string,a,n);//cout?n?endl;sorting(a,n);//cout?a[0];COUT(a,n);}return0;}voidtiqu(char*string,int*p,int&n)(intd=0;for(inti=0;i<n;i++)(if(string[i]>=,0*&&string[i]<=,9'){〃coutくく"第"くくiくく"個數(shù)"くくdくく”";p[d]=string[i]-48;d++;})n=d;}voidsorting(int*a,constint&n)(for(inti=0;i<n-l:i++)(for(intj=0;j<n-l;j++)(if(a[j]>a[j+l])(inttemp=a[j]:a[j]=a[j+l]:a[j+l]=temp;)))//cout?a[0]?endl;)voidCOUT(inta[],constint&n)(for(inti=0;i<n:i++)(cout?setw(4)?a[i];)cout?endl;)(10分)括號匹配(專業(yè)C++實驗5ー預作)題目描述判斷ー組匹配的左右括號序列中,每ー個右括號與之相匹配成對的左括號是整個括號序列的第幾個括號.輸出所有判斷結(jié)果.提示:.輸入的括號總數(shù)一定為偶數(shù).輸入的12序列必定是匹配的,1和2的個數(shù)相等,必為括號總數(shù)的一半..測試數(shù)據(jù)有多組,采用while。循環(huán)輸入.輸入描述第一行輸入ー個整數(shù)(該整數(shù)必定是偶數(shù)),該整數(shù)表示括號序列中一共有多少個括號.第二行輸入用1和2分別代表左右括號的括號序列.例如輸入序列11211222,表示括號序列(0(())).輸出描述輸出為一行.即挨個輸出每個2(右括號つ’)與之相匹配的1(左括號‘(')在括號序列中是第幾個,用空格格開。輸入樣例412124112261121228112112222011211122122121122212輸出樣例31241254126594121514119用戶代碼#include<iostream>usingnamespacestd;intmain()(int*p,n,i,j,a,b=O;while(cin?n)(a=O;if(n%2!=0)return2;p=newint[n];for(i=0;i<n;i-H-)(cin?p[i];}for(i=0;i<n;i++)a++;}//cout?a?endl;else{b++;}if(b<a)return1;if(p[i]!=lAAp[i]!32)return1;}//cout?a?endl;if(a!=n/2)return3;if(P[0]=2)return4;for(i=l;i<n;i++){if(p[i]=2){ a=b=0;if(p[i-l]=l){cout?i?*”;}else(for(j=i-l;j>=0;j)(if(p[j]=2){a++;}if(p[j]=D{b++;)if(a=b-l){cout?j+l?**;break;}))}}cout?endl;)return0;〃這個程序不是很好,是由以前的錯誤程序稍加改之的,〃因為以前把12121212121122看成是ー系列的整形的數(shù),〃但實際上不是,而是字符串,所以為了想偷懶,就稍微//添加了一個字符串轉(zhuǎn)化整形數(shù)的用法,基本沒費事;#include<iostream>usingnamespacestd;intmain()(int即,丹3とヘセ=0;〃定義ー個整形的指針變量,目的是下面申請堆空間,存放整形數(shù)組char*string;〃定義ー個字符型的指針變量,目的是申請堆空間,存放字符數(shù)組while(cin?n)〃因為輸入不是一次|a=0;if(n%2!=0)return2;〃因為n是偶數(shù)p=newint[n];〃申請堆空間,即動態(tài)數(shù)組,string=newchar[n];cin?string;〃輸入字符串,可以聚集輸入,但是個數(shù)也被限定成n了for(i=0;i<n;i++)(p[i]=string[i]-48;〃將字符’〇’-’9,對應的ASCH碼值得轉(zhuǎn)換成整形數(shù)存放在數(shù)組P口中)for(i=0;i<n;i++)a++;〃a是記錄‘2’的個數(shù)的,因為‘2’的個數(shù)必須是n/2個,用來判斷下面的條件的}//cout?a?endl;為了檢查錯誤時添加的else{b++;}〃b是用來記錄’1’的個數(shù)的if(bくa)return1;〃這個含有算法的意思,因為自己設計的,知道這個含義,不滿足這個條件說if(p[i]!=l&&p[i]!=2)return1;〃明你輸入的ー組數(shù)是不正確,更本不符合題目的要求}//cout?a?endl;if(a!=n/2)return3;〃不滿足這個條件說明你輸"人的ー組數(shù)是不正確,更本不符合題目的要求if(p[0]=2)return4;〃不滿足這個條件說明你輸入的ー組數(shù)是不正確,更本不符合題目的要求for(i=l;iくn;i++)〃這個for語句里面的內(nèi)容オ是這題的算法與思想(if(p[i]=2){ a=b=0;if(p[i-l]=l){cout?i?*”;}else(for(j=i-l;j>=0;j—)|if(p[j]=2){a++;}if(a=b-l){cout?j+l?**;break;})))cout?endl;)return0;(10分)腫瘤面積(專業(yè)C++實驗5)題目描述在ー個正方形的灰度圖片上,腫瘤是ー塊矩形的區(qū)域,腫瘤的邊緣所在的像素點在圖片中用。表示.其它腫瘤內(nèi)和腫瘤外的點都用255表示?現(xiàn)在要求你編寫ー個程序,計算腫瘤內(nèi)部的像素點的個數(shù)(不包括腫痛邊緣上的點).已知腫瘤的邊緣平行于圖像的邊緣.輸入描述只有一個測試樣例.第一行有一個整數(shù)n,表示正方形圖像的邊長.其后n行每行有n個整數(shù),取值為〇或255.整數(shù)之間用ー個空格隔開.已知n不大于1000.輸出描述輸出一行,該行包含ー個整數(shù),為要求的腫瘤內(nèi)的像素點的個數(shù).輸入樣例525525525525525525500025525502550255255000255255255255255255輸出樣例用戶代碼#include<iostream>usingnamespacestd;intmain0(int?*p,a,n,i,j,d,b;a=d=b=O;cin?n;p=newint*[n];for(i-0;i<n;i++)p[i]-newint[n];}for(i-0;i<n;i++)for(j-0;j<n;j++)(cin?p⑴[j];})for(i-0;i<n;i++)(intc-0;for(j-0;j<n;j++)(if(p⑴[j]!=0){b++;C++;if(c-n-1)(b-b-n;})elsebreak;}for(j-n-1;j>-0;j-)(if(p[i][jl!-0){a++;}elsebreak;}for(j-0;j<n;j++){if(p[l][jl-0){d++;}))d?n*n-a-b-d;cout?d?endl;for(i-0;i<n;i++)(delete[]p[i];)delete[]p;return0;)(10分)Caesar密碼(DS實驗3)題目描述JuliusCaesar生活在充滿危險和陰謀的年代.為了生存,他首次發(fā)明了密碼,用于軍隊的消息傳遞.假設你是Caesar軍團中的一名軍官,需要把Caesar發(fā)送的消息破譯出來、并提供給你的將軍.消息加密的辦法是:對消息原文中的每個字母,分別用該字母之后的第5個字母替換(例如:消息原文中的毎個字母A都分別替換成字母F),其他字符不變,并且消息原文的所有字母都是大寫的.密碼字母:ABCDEFGHIJKLMNOPQRSTUVWXYZ原文字母:VWXYZABCDEFGHIJKLMNOPQRSTU提示:主函數(shù)用chars[201];while(cin.getline(s,200ハオ))()的結(jié)構(gòu)來處理每個串.輸入描述最多不超過100個數(shù)據(jù)集組成.每個數(shù)據(jù)集由3部分組成:起始行:START密碼消息:由!到200個字符組成一行,表示Caesar發(fā)出的一條消息結(jié)束行:END在最后ー個數(shù)據(jù)集之后,是另一行:ENDOFINPUT輸出描述每個數(shù)據(jù)集對應一行,是Caesar的原始消息.輸入樣例STARTNSBFW,JAJSYXTKNRUTWYFSHJFWJYMJWJXZQYTKYWNANFQHFZXJXENDSTARTNBTZQIWFYMJWGJKNWXYNSFQNYYQJNGJWNFSANQQFLJYMFSXJHTSINSWTRJENDSTARTIFSLJWPSTBXKZQQBJQQYMFYHFJXFWNXRTWJIFSLJWTZXYMFSMJENDENDOFINPUT輸出樣例INWAR,EVENTSOFIMPORTANCEARETHERESULTOFTRIVIALCAUSESIWOULDRATHERBEFIRSTINALITTLEIBERIANVILLAGETHANSECONDINROMEDANGERKNOWSFULLWELLTHATCAESARISMOREDANGEROUSTHANHE用戶代碼#include<iostream>#include<cstring>usingnamespacestd;intmainOchars[201];inti;while(cin.getline(s,200,7\nz)){i-0;if(strcmp(s,"ENDOFINPUT")-0)break;if(strcmp(s,"START")!"0Mstrcmp(s,"END")!-0)(while(s[i]!-z\0z)(if(s[i]>-7Az44s[i]<-zZz)(if(s[i]>='A'&&s[i]<='Ez){s[i]-8⑴+21;)else[s[i]-s[i]-5;})i++;}cout?s?endl;})return0;)(10分)整數(shù)的三位分節(jié)格式(專業(yè)C++實驗5)題目描述編寫一個程序,將用戶輸入的ー個位數(shù)不確定的正整數(shù)按照標準的三位分節(jié)格式輸出.提示:首先將輸入的整數(shù)從低到高的每一位都分離出來,將其存儲到相應的字符數(shù)組中,同時沒隔三位添加一個逗號分隔符.最后將該字符數(shù)組進行反序輸出即得到所要求的標準形式.輸入描述ー個正整數(shù)輸出描述標準的三位分節(jié)格式的整數(shù).請?zhí)貏e注意不足三位的數(shù)字的輸出.輸入樣例82668634輸出樣例82,668,634用戶代碼#include<iostream>usingnamespacestd;intmainO(charp[100];intn,i=0,m;cin?n;while(n){m-n%10;n-n/10;p[i]-m+48;i++;if(1I-0M(i+1)K4-0Un!-0){p[il=',';i-i+1;)}for

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論