#include<stdio.h>
#include<vector>
#include<algorithm>
int main(){
int n,j;
std::vector<int> v;
while(scanf("%d",&n)!=EOF && n!=0)
{
v.clear();
for(int i=0;i<n;i++)
{
int t;
scanf("%d",&t);
v.push_back(t);
}
sort(v.begin(),v.end());
for(int i=0;i<n-1;i++)
{
j=i+1;
printf("%d ",v[i]);
}
printf("%d\n",v[j]);
}
return 0;
}
而且排序的題目為啥測資告訴我正確答案是99?
回應樓主,
主要的問題在於當 N=1 時,
以你的寫法並不會進入 line21 的 for 迴圈,
導致 j 沒有被重置到, (還保留上一次的數值)
所以輸出到錯誤的位置導致WA~
至於 Uva 會過嘛...
可見 Uva 沒有 N=1 的測資(或是在第一筆) =w=
以上希望有幫助到你~ OwO
另外順便回應樓上,
幫助別人並不是教他改成會AC的code就好,
而是應該點出問題所在才是真正能幫助到他人學習的方式,
你這麼做並不會幫助到他人,
而是使得他人少了一次學習的機會導致下次仍然會犯相同的錯誤~