01/10/2018, 10:08
Mọi người giúp mình sửa cái code này với
Đề bài: Nhập số một số nguyên dương n (n > 0) và xét xem số đó có phải là số đối xứng hay không? VD: 121,…
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int n;
do
{
printf("
Nhap so nguyen duong (n >0) n:");
scanf("%d", &n);
if(n <= 0)
{
printf("
Gia tri cua n khong hop le. Vui long kiem tra va nhap lai!");
}
}while(n <= 0);
int temp = n;
int dem = 0;
int sodaonguoc = 0;
dem = log10((double)temp);
while(temp != 0)
{
int chuso = temp % 10;
temp /= 10;
sodaonguoc = sodaonguoc + chuso * pow(10.0, dem--);
}
printf("So dao nguoc cua so %d la so %d.", n, sodaonguoc);
if(n == sodaonguoc)
{
printf("Day la so doi xung");
}
else
{
printf("Day khong phai la so doi xung");
}
return 0;
}
Mình thử với số 1661 thì được mà với số 121 thì không được. Chẳng hiểu sao nữa?
Bài liên quan
Tính số nguyên thì đừng xài
pow
Nó ntn: 1337 = 133*10+7.