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


nicktsao88@gmail.com (曹文正)

學校 : 逢甲大學
編號 : 75483
來源 : [36.231.100.36]
最後登入時間 :
2021-01-21 15:34:06

#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 (帥氣魔方生)

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

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)

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

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


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