#16612: 請問為啥不行,怎麼跑都是1,測試執行有過


nicktsao88@gmail.com (曹文正)


#include <stdio.h>
int main(){
int a,b=1,c=0;
while(scanf("%d",&a)!=EOF)
{
c=a;
while(c!=0){
b=b*(c%10);
c=e/10;
}
if(a<10){

}else{
printf("%d\n",b);
}
b=1;

 

}
return 0;
}

 

#16613: Re:請問為啥不行,怎麼跑都是1,測試執行有過


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


int a,b=1,c=0;
while(scanf("%d",&a)!=EOF)
{
c=a;
while(c!=0){
b=b*(c%10);
c=e/10;               -> 應該是 c=c/10;
}
if(a<10){              ->  這個不需要,上面的迴圈可以處理一位數

}else{
printf("%d\n",b);
}
b=1;

 

}
return 0;
}

 


還有要改的 : a 如果是 0,不會跑迴圈而直接輸出 b 值 = 1

這個你自己加吧

#18496: Re:請問為啥不行,怎麼跑都是1,測試執行有過


doppler (doppler)


int a,b=1,c=0;
while(scanf("%d",&a)!=EOF)
{
c=a;
while(c!=0){
b=b*(c%10);
c=e/10;               -> 應該是 c=c/10;
}
if(a<10){              ->  這個不需要,上面的迴圈可以處理一位數

}else{
printf("%d\n",b);
}
b=1;

 

}
return 0;
}

 


還有要改的 : a 如果是 0,不會跑迴圈而直接輸出 b 值 = 1

這個你自己加吧

  要用do----while


要先做再判斷要不要再乘。