#16637: line 11 WA


easylin0126@gmail.com (林榮翼)

學校 : 臺北市立成功高級中學
編號 : 89424
來源 : [123.195.45.59]
最後登入時間 :
2025-01-05 21:14:30

我已經考慮一開始為0的狀況了,還是不行,求解QQ

#include<stdio.h>
int main(){
int i,num,a[10000],k,sum=1;
while(scanf("%d",&num)!=EOF){
for(i=0;i<num;i++){
scanf("%d",&a[i]);
}
for(i=0;i<num;i++){
while(a[i]>0){
k=a[i]%10;
a[i]/=10;
sum*=k;
}
printf("%d\n",sum);
sum=1;
}
if(num==0){
printf("0\n");
sum=1;
}
}
return 0;
}

#16639: Re:line 11 WA


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

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

 


你這樣的讀取,是要一次把所有測資先存下,然後個別處理

那你的 if 應該要包在 for 裡面,在 while 的前面,像這樣 : 

 for(i=0;i<num;i++)

{

          if(a[i]==0)

          {

                 printf("0\n");

                 sum=1;

                 continue; 

          }

           while(a[i]>0)

           {

                     .........

           }

           printf("%d\n",sum);

           sum=1; 

}

粗體字是我改的