|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
今天写编程作业:求一个数x,x加100是一个完全平方数,再加168还是一个完全平方数,求x是多少。我刚刚学习c语言只会用一些简单的语句,我写的这个程序编译的时候还是0 error,但运行的时候就变成了1 error,不知道问题出在哪里,诚心求助,谢谢。
#include<stdio.h>
#include<math.h>
void main()
{
int x, a, b, c, d, e, f, tidai1, tidai2;
x = 1;
printf("the number that corespounding the demond:\n");
a = aqrt(x+100);
b = aqrt(x+268);
c = a%2;
d = (a+1)%2;
e = b%2;
f = (b+1)%2;
if(c == 0 || d == 0)
{
tidai1 = 1;
}
else
{
tidai1 = 0;
}
if(e == 0 || f == 0)
{
tidai2 = 1;
}
else
{
tidai2 = 0;
}
while(tidai1 == 0 || tidai2 == 0)
{
x++;
}
printf("%d\n",x);
}
看了足足五分钟才看懂你的算法。。。。你这是把c语言当mathematic来用了,你以为的c,d两个变量的存在意义及算法数学逻辑是:利用整数是奇数与偶数的合集,当if条件成立说明a,b为整数,从而找出了了平方数。但这是不可能的。你定义的所有变量都是整形,庚号101也会被c语言转换,所以tidai1和tidai2的值恒为1,你的代码是跑不动的。
|
|