精華區beta C_and_CPP 關於我們 聯絡資訊
請問一下... #include<stdio.h> int main(void){ unsigned int a,b; while(scanf("%d %d",&a,&b)==2){ if(a>b) printf("%d\n",a-b); else printf("%d\n",b-a); } return 0; } 不知道為什麼就是WA 一直覺得我沒錯XD" 對照: #include<iostream> using namespace std; int main(void){ long long int a,b; for(;;){ cin>>a>>b; if(cin.eof()) break; if(b>a) cout<<b-a<<endl; else cout<<a-b<<endl; } return 0; } 這個是AC的.. 但我搞不懂我和他的差在哪...意思不都是一樣的嗎? 我試過把unsigned int改成long long int但沒用@@" -- ╭──╮ ╭──╮ ╭╮╭╮ ╭╮╭──╮ ˙ │ │ │ │ ││││ ╭╮ │││ │ ˙ │ │ │ ││││ ││ │││ .·﹒ │╭╮│ ╰─╮│ │╰╯│ ││ │││╭╮│ ╰╯╰╯ ╰╯ ╰──╰ ╰╯ ╰╯╰╯╰╯ ˙ ˙ ξAquila -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.203.51.12 ※ 編輯: aquila018 來自: 203.203.51.12 (07/25 19:59)
lightsoldier:改成 long long 的話 有記得改 %lld 嗎? 07/25 20:00
aquila018:沒有...@@" 改了就過了...謝謝.. 07/25 20:05
aquila018:附帶問一下 如果用unsigned int可過嗎? 07/25 20:06
aquila018:我用unsigned int 加上%lld 是逾時 07/25 20:06
ckclark:unsigned int請用%u 07/25 20:26
aquila018:但使用%u就WA了@@" 07/25 20:27
ledia:are not greater than 2^32, 意思是會有 2^32 07/25 20:37
aquila018:但unsigned int不是4btye嗎@@? 這樣算是剛好2^32@@? 07/25 20:39
ledia:no, unsigned int 只到 2^32-1 07/25 20:40
ledia:因為有 0 07/25 20:40
aquila018:對喔...都忽略他了...囧...謝謝^^ 07/25 20:41