hàm xuất đúng khi cho n<5 chữ số, và xuất thiếu khi n> 5 chữ số…giúp em với các anh ơi.
#include <math.h>
#include <conio.h>
void inchinhphuong(long n) // đã sữa
{
long i=1; // đã sữa
for(i; i<n; i++)
{
float cp = sqrt((float)i);
long thucp = cp;
if(i == thucp*thucp)
printf("%d ",i); //đã sữa 2
}
}
void main()
{
long n; // đã sữa
printf("nhap vao n, 0<n<10 trieu:\n");
scanf("%d",&n);
while(!(0<n && n<10000000))
{
printf("nhap lai n, 0<n<10 trieu:\n");
scanf("%d",&n);
}
printf("so chinh phuong nho hon n la:\n "); // đã sữa
inchinhphuong(n);
getch();
}
anh LTD, nguyên nhân là: ở đã sữa 2 // cũ là: printf("so chinh phuong la:\n%d ",i);dài quá nên cửa sổ không hiển thị hết các giá trị được xuất ra, và đã sữa kiểu int thành long để để không gian cho n