C语言,已知6<=a<=30,15<=b<=36,求满足方程2a+5b=126的全部整数解。 请问哪里错了?
#include<stdio.h>intmain(){inta=6,b=15,i,j;printf("满足方程2a+5b=126的全部解为:\n");for(i=6;i<...
#include <stdio.h>
int main ()
{int a=6,b=15,i,j;
printf("满足方程2a+5b=126的全部解为:\n");
for (i=6;i<=30;i++)
{ for(j=15;j<=36;j++)
{if(a==(126-5*b)/2)
{printf("(%d,%d)\n",a,b);
b++;
}
else
b++;
}
a=a+1;
}
return 0;
} 展开
int main ()
{int a=6,b=15,i,j;
printf("满足方程2a+5b=126的全部解为:\n");
for (i=6;i<=30;i++)
{ for(j=15;j<=36;j++)
{if(a==(126-5*b)/2)
{printf("(%d,%d)\n",a,b);
b++;
}
else
b++;
}
a=a+1;
}
return 0;
} 展开
展开全部
我看了下你的结果,我改动了下你的程序,如下:
#include <stdio.h>
int main ()
{
int a=6,b=15,i,j;
printf("满足方程2a+5b=126的全部解为:\n");
for (a=6;a<=30;a++)
{
for(b=15;b<=36;b++)
{
if(2*a+5*b==126)
printf("a=%d b=%d\n",a,b);
}
}
return 0;
}
//运行结果
//满足方程2a+5b=126的全部解为:
//a=8 b=22
//a=13 b=20
//a=18 b=18
//a=23 b=16
//Press any key to continue
因为6<=a<=30,15<=b<=36,所以直接拿a和b来运算就行,如果又额外用i和j来计算,会造成计算次数和数值错误。上面有我的运行结果,程序计算方式是:当a=6时,b从15到36遍历一遍,看是否有满足条件的b,有则打印a和b,无则不执行任何操作;当a=7时,b从15到36遍历一遍......直到a=30,b从15到36遍历一遍,看是否存在。判断下来即可以把所有符合要求的a和b找到,不会有计数次数和数值上的错误。
希望对你有帮助!有啥问题咱们继续探讨。
#include <stdio.h>
int main ()
{
int a=6,b=15,i,j;
printf("满足方程2a+5b=126的全部解为:\n");
for (a=6;a<=30;a++)
{
for(b=15;b<=36;b++)
{
if(2*a+5*b==126)
printf("a=%d b=%d\n",a,b);
}
}
return 0;
}
//运行结果
//满足方程2a+5b=126的全部解为:
//a=8 b=22
//a=13 b=20
//a=18 b=18
//a=23 b=16
//Press any key to continue
因为6<=a<=30,15<=b<=36,所以直接拿a和b来运算就行,如果又额外用i和j来计算,会造成计算次数和数值错误。上面有我的运行结果,程序计算方式是:当a=6时,b从15到36遍历一遍,看是否有满足条件的b,有则打印a和b,无则不执行任何操作;当a=7时,b从15到36遍历一遍......直到a=30,b从15到36遍历一遍,看是否存在。判断下来即可以把所有符合要求的a和b找到,不会有计数次数和数值上的错误。
希望对你有帮助!有啥问题咱们继续探讨。
展开全部
#include <stdio.h>
void main ()
{int a,b;
printf("满足方程2a+5b=126的全部解为:\n");
for (a=6;a<=30;a++)
{ for(b=15;b<=36;b++)
{if((2*a+5*b)==126)
{printf("(%d,%d)\n",a,b);
b++;
}
else
b++;
}
a=a+1;
}
return 0;
}
void main ()
{int a,b;
printf("满足方程2a+5b=126的全部解为:\n");
for (a=6;a<=30;a++)
{ for(b=15;b<=36;b++)
{if((2*a+5*b)==126)
{printf("(%d,%d)\n",a,b);
b++;
}
else
b++;
}
a=a+1;
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int main ()
{
int a=6,b=15,i,j;
printf("满足方程2a+5b=126的全部解为:\n");
for (i=6;i<=30;i++)
{
for(j=15;j<=36;j++)
{
if(i==(126-5*j)/2)
{
printf("(%d,%d)\n",i,j);
}
}
}
return 0;
}
int main ()
{
int a=6,b=15,i,j;
printf("满足方程2a+5b=126的全部解为:\n");
for (i=6;i<=30;i++)
{
for(j=15;j<=36;j++)
{
if(i==(126-5*j)/2)
{
printf("(%d,%d)\n",i,j);
}
}
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询