Mình có code đoạn test số amstrong cụ thể là số 153. Mà chẳng là khi test code bằng c free 5.0 hoặc code block thì nó báo sai còn test bằng visual studio thì nó lại báo đúng.
Cụ thể mình có kiểm tra từng dòng code thì thấy đến đoạn s=pow(5,3)=124 (ở vòng lặp lần 2) trong khi phải bằng 125 mới đúng. Mn chỉ mình fix như thế nào với 
void at(int n) {
long sum=0,m=n,k,t;
k=3;
printf("k= %d\n",k);printf("k= %d\n",k);
while(m>0)
{
printf("******************\n");
t=m%10;
printf("t=%d\n",t);
int s=pow(t,k); /*Khi t=5, pow(5,3) =124 ?????? */
printf("%d^%d=%d\n",t,k,s);
sum+=pow(t,k);
printf("Sum= %d",sum);
m/=10;
printf("\n");
}
}
int main ()
{
at(153);
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?