Bạn dùng code phía dưới thử xem minh viết trong Visual studio đó
void main()
{
int n;
do
{
printf(“Nhap vao so n ( n>=1) :”);
scanf_s("%d", &n);
if (n < 0)
{
printf("\nNguoi dung da nhap sai.\n\nVui long nhap lai n>=1.!!!\n\n");
}
} while (n<0);
int a = n;
int sochuso;
sochuso = log10((double)a);
//printf("\nSo da nhap %d co %d chu so.\n", n, sochuso);
int sodaonguoc = 0;
while (a!=0)
{
int chuso;
chuso = a % 10;
a = a / 10;
sodaonguoc = sodaonguoc +chuso* pow(10, sochuso–);
//sochuso=sochuso-1;
}
printf("\nSo dao nguoc cua %d la so %d .\n", n, sodaonguoc);
Thực ra có thể nhân 10 rồi cộng thêm vào mà log làm gì.
nhưng chương trinh này vấn đề là ở chỗ nào ạ
Mình nghĩ chỗ int dem = log(…) có sai số, với lại điều kiện sửa lại temp > 0 thử xem
Clip ngày xửa ngày xưa có liên quan:
while(temp!=0) đổi thành hàm do while đi bạn
Bạn có thể dùng cách này:
Bạn dùng code phía dưới thử xem minh viết trong Visual studio đó
void main()
{
int n;
do
{
printf(“Nhap vao so n ( n>=1) :”);
scanf_s("%d", &n);
if (n < 0)
{
printf("\nNguoi dung da nhap sai.\n\nVui long nhap lai n>=1.!!!\n\n");
}
} while (n<0);
int a = n;
int sochuso;
sochuso = log10((double)a);
//printf("\nSo da nhap %d co %d chu so.\n", n, sochuso);
int sodaonguoc = 0;
while (a!=0)
{
int chuso;
chuso = a % 10;
a = a / 10;
sodaonguoc = sodaonguoc +chuso* pow(10, sochuso–);
//sochuso=sochuso-1;
}
printf("\nSo dao nguoc cua %d la so %d .\n", n, sodaonguoc);
_getch();
}