杭電2034——人見人愛A-B
阿新 • • 發佈:2019-02-01
#include <stdio.h> #include <algorithm> using namespace std; int main () { int a[110],b[110],c[110]; int m,n; int i,j,k; int flag; scanf("%d%d",&m,&n); while (m!=0||n!=0) { k = 0; flag = 0; for (i=0;i<m;i++) scanf("%d",&a[i]); for (i=0;i<n;i++) scanf("%d",&b[i]); for (i=0;i<m;i++) { for (j=0;j<n;j++) if (a[i]==b[j]) break; if (j>=n) { c[k] = a[i]; k ++; flag = 1; } } sort(c,c+k); if (flag) { for (i=0;i<k;i++) printf("%d ",c[i]); printf("\n"); } else printf("NULL\n"); scanf("%d%d",&m,&n); } return 0; }
這是我寫杭電上題目的時候提交次數最多的時候。我不敢相信我為什麼一直錯
今天終於搞掉了這麼一題。
說說這題的思路吧。
正確的輸入,程式的結束:m!=0 || n!=0;而不是m!=0&&n!=0 ;
找到資料,記錄下來。隨後輸出,輸出前需要排序。
我一直出錯的原因就是這個排序,之前沒有看清題目,後來加上sort庫函式排序,我用C語言提交,怎麼都是編譯錯誤,不知道什麼時候突然一亮想起來應該是C++。就是因為這個。