czj1016130386 发表于 2018-8-21 11:50:05

关于c语言while的一些问题

题目是求一个加100完全平方,然后再加168再完全平方的整数,不知道我的这个代码有什么错误呢??望大神指正。
#include <stdio.h>
#include <math.h>

void main()
{
int i=1;
double s,g;
while(i<=1000000)
{
s = sqrt(i+100);
g = sqrt(i+268);
if((s - int(s)==0)&&(g - int(g)==0))
{
      print("%d\n",i);
      i++;
}
   else
   {
          i++;
   }

}
}

claws0n 发表于 2018-8-21 12:09:41

本帖最后由 claws0n 于 2018-8-21 12:12 编辑

{:10_245:} 看第一眼的时候,都没有勇气按下编译
#include <stdio.h>
#include <math.h>

void main()
{
        int i=1;
        double s,g;
        while(i<=1000000)
        {
          s = sqrt(i+100);
          g = sqrt(i+268);
       
          if((s - (int)s == 0.0) && (g - (int)g == 0.0))    //这不是 python 类型转换的括号在前面,当然,后面也可以加
          {
             printf("%d\n",i);    //这不是 python
            }
          i++;   // 这样就可以了
        }
}
结果
21
261
1581

程序员#? 发表于 2018-8-21 12:18:24

前面没看,就看到个print{:10_245:}
你是学python的吧?

claws0n 发表于 2018-8-21 13:35:49

代码补上
#include <stdio.h>
#include <math.h>

void main()
{
        int i = 1;
        double s, g;
        while(i <= 1000000)                //加入适当的空格
        {
                  s = sqrt(i+100);
                  g = sqrt(i+268);
                 
                  if((s - (int)(s) == 0.0) && (g - (int)(g) == 0.0))// (int)s 也可以
                  {
                  printf("%d\n", i);
                }
                i++;        // if 要自增,else 又没有其他的功能
        }
}

czj1016130386 发表于 2018-8-21 13:37:26

程序员#? 发表于 2018-8-21 12:18
前面没看,就看到个print
你是学python的吧?

之前是学Python的{:10_266:}下次要注意点

czj1016130386 发表于 2018-8-21 13:38:11

claws0n 发表于 2018-8-21 12:09
看第一眼的时候,都没有勇气按下编译
#include
#include


感谢感谢{:10_335:}
页: [1]
查看完整版本: 关于c语言while的一些问题