PAT乙級真題

2021-09-11 07:59:35 字數 3692 閱讀 6560

#include#includeint main()

char zhuan[10];

sprintf(zhuan,"%d",he);

for(int i_1 =0;i_1#includeint main()else if(grade > to)else if(grade#includebool search(int a,int b)

i++;

} a[i] = b;

return true;}

void method(int b,int a)

elseif(b!=1)

else

} }int main();

int t[100] = ;

scanf("%d",&num);

for(int i = 0;i < num;i++)

else

}else

} int k,j = 0;

int c[20] = ;

for(k = 0;k<100;k++)

} for(int i1 =0;i1非完全正確22/25,思路是用先求出關鍵數,再用冒泡做排序,建議不需要額外存數列,採用標記法

#include#includeint main();

int n;

scanf("%d",&n);

for(int i = 1;i<=n;i++)

}} for(int ii = 1;ii <= n;ii++)}

int num = 0;

for(int i2 =1;i2 <=n;i2++)}}

printf("%d\n",num);

return 0;}

非完全正確,18/20,因為1不是素數。真尷尬,差的2分因為沒有用sqrt()求根函式判斷素數,但是沒搞懂用全迴圈為什麼不行,懷疑應該是時間太久了,使用time.h的clock函式可以檢測執行時間

clock_t start,end;  

start = clock();

end = clock();

printf("time(秒)=%f\n",(double)(end-start)/clk_tck);

#include#include#include#includeint main();

while(scanf("%d %d",&m[i],&m[i+1])!=eof)else

} printf("\n");

for(int j = 0;j <=i-1;j+=2)else

} return 0;}

沒讀懂題,題目要求當都為0時輸出0 0,不要額外加回車

ac**

#include#include#include#includeint main();

while(scanf("%d %d",&m[i],&m[i+1])!=eof)else

} if(i==0)

for(int j = 0;j <=i-1;j+=2)else

} return 0;}

#include#include#include#includeint main()else

if(i != num-1)

} return 0;}

vc不支援c99,此處用long long來儲存數字,僅能用long long

#include#include#include#includeint main()

} while(num<=(n-m))

if(j+1>sqrt(i))

int flag1 = 0,flag2 = 0;

for(i = 0;i < strlen(ch[0]);i++)

flag2 = i2;

break;}}

}if(flag1 >0&&flag2 >0)

} for(int ii =0;ii < strlen(ch[2]);ii++)else

break;

}} return 0;}

==編譯錯誤,gcc不支援for迴圈裡建立的變數再次使用,又是題意搞錯了,

1.for迴圈找到a[i]==b[i]並且 a[i]>=『a』&&a[i]<=『g』 ,記錄day,continue;

2.繼續執行找到a[i]==b[i]並且a[i]>=『0』&&a[i]<=『9』 || a[i]>=『a』&&a[i]<=『n』,記錄hh,break;

3.再開乙個for迴圈找到c[i]d[i]並且 c[i]>=『a』&&c[i]<=『z』 || c[i]>=『a』&&c[i]<=『z』 ,記錄mm,break;

ac**

#include#include#includeint main()

int flag1 = 0;

for(int i = 0;i < strlen(ch[0]);i++)

flag1 = 1;

continue;

}if(((ch[0][i]>='0'&&ch[0][i]<='9')||(ch[0][i]>='a'&&ch[0][i]<='n'))&&flag1>0&&ch[0][i] == ch[1][i])

break;

}} for(int ii =0;ii < strlen(ch[2]);ii++)else

break;

}} return 0;}

#include#include#include#includestruct stut[100000];

int main()else if(t[i].de>=m[2]&&t[i].cai>=m[1])else if(t[i].de>=t[i].cai&&t[i].de>=m[1]&&t[i].cai>=m[1])else if(t[i].de>=m[1]&&t[i].cai>=m[1])else

}for(int j =1;jt[i].dj)else if(((t[i-1].de+t[i-1].cai)<(t[i].de+t[i].cai))&&t[i-1].dj==t[i].dj)else if(t[i-1].dj==t[i].dj&&((t[i-1].de+t[i-1].cai)==(t[i].de+t[i].cai))&&t[i-1].det[i].number)

if(bol)

}} printf("%d\n",m[0]);

for(i = 0;i < m[0];i++)

return 0;}

方法絕對超時了,注意結構體的使用,應該先分類後排序,按類別排序

除法可以一位一位除

#include#include#include#includevoid sort(char c)

}}

int a[2] = ;

for(k = 0;k < 4;k++)

if(a[0]<10)else if(a[0]<100)else if(a[0]<1000)else

if(a[1]-a[0]<10)else if(a[1]-a[0]<100)else if(a[1]-a[0]<1000)else

if(a[1]-a[0]==6174)else }

int main()else}

return 0;}

部分正確,三個測試點失敗,至今不懂原因,更好的方法是用整型陣列來存每一位數,然後輸出採用%04d

PAT乙級 Basic Level 真題

時間限制 1000 ms 記憶體限制 32768 kb 長度限制 100 kb 判斷程式 standard 來自 小小 題目描述 給定區間 2的31次方,2的31次方 內的3個整數a b和c,請判斷a b是否大於c。輸入描述 輸入第1行給出正整數t 10 是測試用例的個數。隨後給出t組測試用例,每組...

PAT乙級真題1002

1002 寫出這個數 20 20 分 讀入乙個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。輸入格式 每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於10 100 輸出格式 在一行內輸出n的各位數字之和的每一位,拼音數字間有1 空格,但一行中最後乙個拼音數字後沒有空格。...

PAT乙級 Basic Level 真題1003

題目描述 令pi表示第i個素數。現任給兩個正整數m n 10000,請輸出pm到pn的所有素數。輸入描述 輸入在一行中給出m和n,其間以空格分隔。輸出描述 輸出從pm到pn的所有素數,每10個數字佔1行,其間以空格分隔,但行末不得有多餘空格。輸入例子 5 27 輸出例子 11 13 17 19 23...