C語言編程PAT乙級學習筆記示例分享_第1頁
C語言編程PAT乙級學習筆記示例分享_第2頁
C語言編程PAT乙級學習筆記示例分享_第3頁
C語言編程PAT乙級學習筆記示例分享_第4頁
C語言編程PAT乙級學習筆記示例分享_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第C語言編程PAT乙級學習筆記示例分享目錄1001害死人不償命的(3n+1)猜想1002寫出這個數(shù)1003我要通過!1004成績排名1005繼續(xù)(3n+1)猜想1006換個格式輸出整數(shù)1007素數(shù)對猜想問題1008數(shù)組元素循環(huán)右移問題1009說反話1010一元多項式求導1011A+B和C1012數(shù)字分類1013數(shù)素數(shù)1014福爾摩斯的約會

1001害死人不償命的(3n+1)猜想

#includeiostream

#includestack

usingnamespacestd;

intmain()

intn,count=0;

cinn;

while(n!=1){

if(n%2==0)n=n/2;

elsen=(3*n+1)/2;

count++;

coutcount;

system("pause");

return0;

1002寫出這個數(shù)

#includeiostream

#includestack

usingnamespacestd;

intmain()

stringstr;

cinstr;

intsum=0;

boolstart=true;

for(inti=0;istr.length();i++){

sum+=(str[i]-'0');

stackintsta;

while(sum!=0){

sta.push(sum%10);

sum=sum/10;

while(!sta.empty()){

if(start)start=false;

elsecout"";

inttmp=sta.top();

sta.pop();

switch(tmp){

case0:cout"ling";break;

case1:cout"yi";break;

case2:cout"er";break;

case3:cout"san";break;

case4:cout"si";break;

case5:cout"wu";break;

case6:cout"liu";break;

case7:cout"qi";break;

case8:cout"ba";break;

case9:cout"jiu";break;

system("pause");

return0;

1003我要通過!

//左邊a的個數(shù)*中間=右邊

#includeiostream

usingnamespacestd;

intmain()

intn;

cinn;

while(n--){

stringc;

cinc;

intcount1=0,count2=0,count3=0,judge=0;

boolresult=true;

for(inti=0;ic.length();i++){

if(c[i]=='P'||c[i]=='A'||c[i]=='T'){

if(judge==0c[i]=='A')count1++;

elseif(judge==0c[i]=='P')judge=1;

elseif(judge==1c[i]=='A')count2++;

elseif(judge==1c[i]=='T')judge=2;

elseif(judge==2c[i]=='A')count3++;

elseresult=false;

else{

result=false;

break;

if(judge!=2||count1*count2!=count3||count2==0)result=false;

if(result)cout"YES"endl;

elsecout"NO"endl;

return0;

1004成績排名

#includeiostream

usingnamespacestd;

typedefstructstudent{

stringname;

stringnum;

intscore;

}Student;

intmain()

intn;

cinn;

structstudentstu[n];

for(inti=0;ii++){

cinstu[i].name;

cinstu[i].num;

cinstu[i].score;

structstudentmin=stu[0];

structstudentmax=stu[0];

for(inti=1;ii++){

if(stu[i].scoremax.score)max=stu[i];

if(stu[i].scoremin.score)min=stu[i];

cout""max.numendl;

cout""min.numendl;

return0;

1005繼續(xù)(3n+1)猜想

#includeiostream

usingnamespacestd;

intmain()

intn;

intnum[101]={0};

cinn;

for(inti=0;ii++){

inttmp;

cintmp;

num[tmp]=1;

for(inti=0;ii++){

if(num[i]==1){

inttemp=i;

while(temp1){

if(temp%2==0)temp/=2;

elsetemp=(3*temp+1)/2;

if(temp!=1temp101)num[temp]=0;

intflag=1;

for(inti=100;ii--){

if(num[i]==1){

if(flag==0){

cout""i;

else{

flag=0;

couti;

return0;

1006換個格式輸出整數(shù)

#includeiostream

usingnamespacestd;

intmain()

intn;

cinn;

inta,b,c;

a=n/100;

b=n%100/10;

c=n%10;

while(a!=0){

cout"B";

a--;

while(b!=0){

cout"S";

b--;

for(inti=0;ii++){

couti+1;

return0;

1007素數(shù)對猜想問題

#includeiostream

#includevector

#includemath.h

usingnamespacestd;

intmain()

intn,i,j;

cinn;

intcount=0;

vectorintprime;

for(inti=2;ii++){

for(j=2;j=sqrt(i);j++){

if(i%j==0)break;

if(jsqrt(i))

prime.push_back(i);

for(inti=1;iprime.size();i++)

if(prime[i]-prime[i-1]==2)count++;

coutcount;

return0;

1008數(shù)組元素循環(huán)右移問題

#includeiostream

usingnamespacestd;

//change函數(shù)

voidchange(inta[],intl,intr){

for(inti=l;i=(l+r)/2;i++){

inttmp=a[i];

a[i]=a[l+r-i];

a[l+r-i]=tmp;

intmain()

intm,n;

cinmn;

n%=m;//考慮當需要循環(huán)的次數(shù)超過了數(shù)列總數(shù)時的情況!??!

inta[m]={0};

for(inti=0;ii++){

cina[i];

change(a,0,m-1-n);

change(a,m-n,m-1);

change(a,0,m-1);

intcount=1;

for(inti=0;ii++){

if(count==1){

couta[i];

count=0;

else{

count=0;

cout""a[i];

1009說反話

#includeiostream

usingnamespacestd;

intmain()

stringstr[80];

inti=0,j;

while(cinstr[i]){//這個會經(jīng)常使用,要記住啊。

i++;

for(j=i-1;jj--){

if(j!=i-1)cout"";

coutstr[j];

return0;

1010一元多項式求導

#includeiostream

usingnamespacestd;

intmain()

inta[1000];

inti=0;

intm,n;

while(cinmn){

a[i]=m*n;

a[i+1]=n-1;

if(a[i]==0a[i+1]==-1)continue;

elsei+=2;

for(intj=0;jj++){

if(j!=0){

cout"";

couta[j];

if(i1)cout"00";//注意“零多項式”的指數(shù)和系數(shù)都是0,但是表示為00.

return0;

1011A+B和C

#includeiostream

usingnamespacestd;

intmain()

intn;

cinn;

inti=0;

while(n--){

i++;

doublea,b,c;//看測試用例,選用double或者float類型

cinabc;

if(a+bc)cout"Case#"i":true"endl;

elsecout"Case#"i":false"endl;

return0;

1012數(shù)字分類

#includeiostream

#includestdio.h

usingnamespacestd;

intmain()

intn,i;

cinn;

inta[1001];

intsum1=0,flag=1,sum2=0,count1=0,count2=0,count3=0,max=0;

doublesum3=0;

for(i=0;ii++){

cina[i];

if(a[i]%2==0a[i]%5==0){

sum1+=a[i];

elseif(a[i]%5==1){

sum2=sum2+flag*a[i];

flag=flag*(-1);

count2++;

elseif(a[i]%5==2){

count1++;

elseif(a[i]%5==3){

sum3+=a[i];

count3++;

elseif(a[i]%5==4){

if(a[i]max)max=a[i];

if(sum1==0)cout"N";

elsecoutsum1"";

if(count2==0)cout"N";

elsecoutsum2"";

if(count1==0)cout"N";

elsecoutcount1"";

if(count3==0)cout"N";

elseprintf("%.1lf",sum3/count3);

if(max==0)cout"N";

elsecoutmax;

return0;

1013數(shù)素數(shù)

#includeiostream

#includecmath

usingnamespacestd;

boolisprime(intn){

inti;

if(n==2){

returntrue;

elseif(n=1){

returnfalse;

else{

for(i=2;i=sqrt(n);i++){//要用平方根,如果用n/2找素數(shù),會顯示一個錯誤,表示代碼運算量過大。

if(n%i==0)returnfalse;

if(isqrt(n))returntrue;

elsereturnfalse;

intmain()

intm,n;

cinmn;

inta[110000]={0};

intx=1;

for(inti=1;i110000;i++){

if(isprime(i)){

a[x]=i;

x++;

intcount=0;

for(inti=m;ii++){

count++;

count=count%10;

if(count==1)couta[i];

elsecout""a[i];

if(count==0)coutendl;

return0;

1014福爾摩斯的約會

#includeiostream

#includestring

#includecstdio

usingnamespacestd;

intmain()

strings1,s2,s3,s4;

cins1s2s3s4;

intlen1=s1.length()s1.length()s1.length():s2.length();

intlen2=s3.length()s4.length()s3.length():s4.length();

charweekday,hour;

intminute,flag=0;

for(inti=0;ilen1;i++){

if(s1[i]==s2[i]flag==0(s1[i]='A's1[i

溫馨提示

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

最新文檔

評論

0/150

提交評論