我先說,goto在這裡是十分不好的用法,很容易出不好找出的bug。
建議改成while 或 for 迴圈。
改成while會變:
#include <bits/stdc++.h>
using namespace std ;
int main(){
int a,b,d=0;
cin>>a;
a--;
while(a--){
cin>>b;
if((b>d)&&(a!=0))
d=b;
else if((b>d)&&(a==0))
d=b;
}
cout<<d;
}
少了許多不必要的行數,比如:goto i , i: , a-- 。
也比較難出現少一次或多一次的問題。
還有d=d;是無意義的,可避免寫出,
至於為甚麼,其實你只要在判定前先a--;就好了。
我先說,goto在這裡是十分不好的用法,很容易出不好找出的bug。
建議改成while 或 for 迴圈。
改成while會變:
#include <bits/stdc++.h>
using namespace std ;
int main(){
int a,b,d=0;
cin>>a;
//a--;
while(a--){
cin>>b;
if((b>d)&&(a!=0))
d=b;
else if((b>d)&&(a==0))
d=b;
}
cout<<d;
}
少了許多不必要的行數,比如:goto i , i: , a-- 。
也比較難出現少一次或多一次的問題。
還有d=d;是無意義的,可避免寫出,
至於為甚麼,其實你只要在判定前先a--;就好了。
打錯了!!這一行也不用XD
我先說,goto在這裡是十分不好的用法,很容易出不好找出的bug。
建議改成while 或 for 迴圈。
改成while會變:
#include <bits/stdc++.h>
using namespace std ;
int main(){
int a,b,d=0;
cin>>a;
//a--;
while(a--){
cin>>b;
if((b>d)&&(a!=0))
d=b;
else if((b>d)&&(a==0))
d=b;
}
cout<<d;
}
少了許多不必要的行數,比如:goto i , i: , a-- 。
也比較難出現少一次或多一次的問題。
還有d=d;是無意義的,可避免寫出,
至於為甚麼,其實你只要在判定前先a--;就好了。
打錯了!!這一行也不用XD
可是我照你打得反而錯了,我原本沒錯,我只是不懂那個a--
我先說,goto在這裡是十分不好的用法,很容易出不好找出的bug。
建議改成while 或 for 迴圈。
改成while會變:
#include <bits/stdc++.h>
using namespace std ;
int main(){
int a,b,d=0;
cin>>a;
//a--;
while(a--){
cin>>b;
if((b>d)&&(a!=0))
d=b;
else if((b>d)&&(a==0))
d=b;
}
cout<<d;
}
少了許多不必要的行數,比如:goto i , i: , a-- 。
也比較難出現少一次或多一次的問題。
還有d=d;是無意義的,可避免寫出,
至於為甚麼,其實你只要在判定前先a--;就好了。
打錯了!!這一行也不用XD
可是我照你打得反而錯了,我原本沒錯,我只是不懂那個a--
a--
可是我照你打得反而錯了<---------跟另外一題一樣
,我原本沒錯,我只是不懂那個a--<-------------
那是因為你原本是在輸入後才a--,
最後會少一次,
所以前面要加一個a--。
我改成輸入前都先a--。