<分区>
我正在学习介绍性的 C 编程类(class),第一个作业是找出给定范围内的完全平方数。 我试图获得第一个完美的平方根,但是当我尝试将第一个平方根分配给一个变量时,我无法这样做并且它总是显示 0。
这是我写的程序:
#include<stdio.h>
void main()
{
float y= 0;
float k = 1.0;
float n;
int i=0;
int first_sqrt;
first_sqrt = 0;
printf("enter number: \n");
scanf("%f",&n);
// finding the first perfect square
for(y = 0; y<=10000; y++)
{
while((k*k - n)>0.0001 || (n - k*k)> 0.0001)
{
k = (k + n/k) / 2;
//printf("%f\n", k);
}
i = (int)k;
if(i*i == n)
{
printf("perfect squareroot: %d\n", i);
i = first_sqrt;
y = 10001;
//break;
}
else
{
printf("not perfect square: %f\n", n);
n = n+1;
}
}
printf("first perfect square root: %d\n", first_sqrt);
}
很抱歉发布了整个程序,但我不知道问题出在哪里。这是第一周的第一个作业,所以我还不了解 C 中的很多函数,我不能在这个作业中使用数学函数。 任何帮助,将不胜感激。整天都在搜索这个,但不太了解。
非常感谢解决该问题的基本方向。谢谢。