#16367: C 請問為甚麼測試可以通過,送解答卻不行?


jeechihan@gmail.com (拉拉拉)

學校 : 不指定學校
編號 : 89578
來源 : [134.208.58.188]
最後登入時間 :
2019-05-29 01:21:14

#include <stdio.h>
#include <stdlib.h>
int asd(int k){
int sum = 1;
while(k!=0){
int a;

a = k%10;
k = k/10;
sum = sum *a;
}
return sum;


}
int main()
{ int n;
while(scanf("%d",&n)!=EOF){
int i;
int a[n];
for(i=0;i<n;i++){
scanf("%d",&a[i]);
printf("%d\n",asd(a[i]));
}

 

 

 


}
return 0;
}

#16369: Re:C 請問為甚麼測試可以通過,送解答卻不行?


freedom501999@gmail.com (帥氣魔方生)

學校 : 不指定學校
編號 : 88611
來源 : [39.8.203.54]
最後登入時間 :
2019-05-30 22:56:25

int sum = 1;

while(k!=0){
int a;

a = k%10;
k = k/10;
sum = sum *a;
}

 

測資有包含 0 哦,如果 k 一開始是 0 ,不會跑 while 會直接 return 1

但是0 的答案就是 0,問題應該在這邊

#18497: Re:C 請問為甚麼測試可以通過,送解答卻不行?


doppler (doppler)

學校 : 不指定學校
編號 : 93535
來源 : [163.27.116.1]
最後登入時間 :
2025-10-08 15:54:20

#include
#include
int asd(int k){
int sum = 1;
while(k!=0){--------------改為do
int a;

a = k%10;
k = k/10;
sum = sum *a;
}                 ----------------while(k!=0);就可以了!!
return sum;


}
int main()
{ int n;
while(scanf("%d",&n)!=EOF){
int i;
int a[n];
for(i=0;i<n;i++){
scanf("%d",&a[i]);
printf("%d\n",asd(a[i]));
}

 

 

 


}
return 0;
}