#include<stdio.h>
int main(){
int N[9999][3];
int a,b,k,g,c;
while(scanf("%d", &k)!=EOF){
for(b=0;b<k;b++){
for(a=0;a<=2;a++){
scanf("%d", &N[b][a]);
}
if(N[b][0]=1){
g=N[b][1]+N[b][2];
}else if(N[b][0]=2){
g=N[b][1]-N[b][2];
}else if(N[b][0]=3){
g=N[b][1]*N[b][2];
}else{
g=N[b][1]/N[b][2];
}
N[b][3]=g;
}
for(c=0;c<k;c++){
printf("%d\n", N[c][3]);
}
}
return 0;
}
#include
int main(){
int N[9999][3];
int a,b,k,g,c;
while(scanf("%d", &k)!=EOF){
for(b=0;b<k;b++){
for(a=0;a<=2;a++){
scanf("%d", &N[b][a]);
}
if(N[b][0]=1){
g=N[b][1]+N[b][2];
}else if(N[b][0]=2){
g=N[b][1]-N[b][2];
}else if(N[b][0]=3){
g=N[b][1]*N[b][2];
}else{
g=N[b][1]/N[b][2];
}
N[b][3]=g;
}
for(c=0;c<k;c++){
printf("%d\n", N[c][3]);
}
}
return 0;
}
N[b][0]=1 應為 N[b][0] == 1 才是判斷 N[b][0] 是否為 1 。否則將只是把 N[b][0] 的值設為 1 。N[b][0]=2 、 N[b][0]=3 也與此同理。
另外,當陣列被宣告為 N[9999][3] ,其不會有 N[b][3] 的位置。(因為索引值是從 0 ~ 3 - 1 也就是 0 ~ 2),因此,可以宣告成 N[9999][4] 。
還有,因為題目給定的 b 、 c 之值可能高達 2147483647 。而 b * c = 4611686014132420609 , int 變數會塞不下,建議可以宣告成 long long 。
最後,實際上每輸入 3 個數字 a 、 b 、 c 就可以輸出結果了。不用特地將所有結果存起來,再一次輸出。因為先輸出、後輸出,實際印出來的結果對評測的程式是一樣的。
以上。希望有幫助到您。