#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;
}
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,問題應該在這邊
#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;
}