简单C语言题:求x²+y²=1000,所有正整数的解:
其实你的错误有两个1、不应该是int(x)而是(int)x;明白吗?还有就是一个数据长度的问题我们double型数据应该用%lf而不是%d
代码如下:
#includestdio.h
#includemath.h
int main()
{
double x,y;
for(y=0;y=0y=31;y++)
{
x=sqrt(1000-pow(y,2));
if((int)x==x)
printf(“x=%lf,y=%lf\n”,x,y);
}
return 0;
}
如果你真的想用代码%d的话你可以这么写
代码如下:
#includestdio.h
#includemath.h
int main()
{
double x,y;
for(y=0;y=0y=31;y++)
{
x=sqrt(1000-pow(y,2));
if((int)x==x)
printf(“x=%d,y=%d\n”,(int)x,(int)y);
}
return 0;
}
C语言编程题:X+Y=100输出方程的正整数解。 程序写出来如果拍照就更好了,感谢各位!
#includestdio.h
int main()
{int i,j;
printf(“x+y=100的正整数解有:\n”);
for(i=1;i100;i++)
for(j=1;j100;j++)
if(i+j==100)
printf(“X=%d,Y=%d\n”,i,j);
return 0;
}
我执行过了 输出正确 望采纳
利用C语言求方程x+3y=40的所有正整数解
代码如下:
#includestdio.h
void main()
{
int x,y;
printf(“x\ty”);
for(x=0;x=40;x++)
{
for(y=0;y=40;y++)
{
if(x+3*y==40)
printf(“\n%d\t%d”,x,y);
}
}
}
C语言:求方程3x+2y+a=10在[0,10]的正整数解,a由键盘输入,每组结果另起一行输出?
首先 转化一下y=(10-3x-a)/2
正整数解是只x,y都是整数的解
所以只要遍历x轴0到10的整数点求y,看y是不是整数即可
int x,a;
double y;
int main()
{
scanf(“%d”, a);
for (x = 0; x = 10; x++)
{
y = (10 – 3*x – a)/2.0;
if (int(y)== y)printf(“(%d,%d)\n”, x, int(y));
}
}