我已經考慮一開始為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;
}
你這樣的讀取,是要一次把所有測資先存下,然後個別處理
那你的 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;
}
粗體字是我改的