//已知6≤a≤30,15≤b≤36,求满足2a+5b=126的全部整数组解。 #include"stdio.h" void main() { int a,b; printf("满足方程2a+5b=126的全部解为:\n"); a=30; b=36; while(a>=6) { while(b>=15) { 2*a+5*b==126; b--; } a--; printf("a=%d b=%d\n",a,b); } } 这样一直没有结果 求解:怎么用while来解
#include <stdio.h>
void main()
{
int a = 6, b = 15;
int n = 0;
while(a <= 30)
{
while(b <= 36)
{
if(2*a + 5*b == 126)
printf("解%d: a = %d, b = %d\n", ++n, a, b);
b++;
}
b = 15;
a++;
}
}
void main()
{
int a = 6, b = 15;
int n = 0;
while(a <= 30)
{
while(b <= 36)
{
if(2*a + 5*b == 126)
printf("解%d: a = %d, b = %d\n", ++n, a, b);
b++;
}
b = 15;
a++;
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 2013-10-10
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);
}
你的程序问题在于内while()循环后,没有设置b=36,且输出位置不对本回答被网友采纳
for(b=15;b<36;b++)
if(2*a+5*b==126)
{
printf("a=%d b=%d\n",a,b);
}
你的程序问题在于内while()循环后,没有设置b=36,且输出位置不对本回答被网友采纳
第2个回答 2013-10-10
#include <iostream>
using namespace std;
void main()
{ int a,b;
printf("满足方程2a+5b=126的全部解为:\n");
a=30;
b=36;
while(a>=6)
{ while(b>=15)
{
if(2*a+5*b!=126)
b--;
else
{ printf("a=%d b=%d\n",a,b);
break;}
}
a--;
b=36;
//printf("a=%d b=%d\n",a,b);
}
}
using namespace std;
void main()
{ int a,b;
printf("满足方程2a+5b=126的全部解为:\n");
a=30;
b=36;
while(a>=6)
{ while(b>=15)
{
if(2*a+5*b!=126)
b--;
else
{ printf("a=%d b=%d\n",a,b);
break;}
}
a--;
b=36;
//printf("a=%d b=%d\n",a,b);
}
}