c语言作业,
编程实现,满足以下方程的所有整数解。
a*a*a+b*b*b+c*c*c=3
-5<=a<=5
-8<=b<=7
-10<=c<=10
输出满足方程的a,b,c.
这是我写的:
#include <stdio.h>
void main()
{
int a,b,c,sum;
for(a=-5;a<=5;a++)
for(b=-8;b<=7;b++)
for(c=-10;c<=10;c++)
{
if(sum==3)
printf("满足该方程的整数解a=%d\n",a);
printf("满足该方程的整数解b=%d\n",b);
printf("满足该方程的整数解c=%d\n",c);
}
}
请教为什么只输出了b和c的值,而没有a呢?
请详细说明下,怎么改正,非常感谢,再说说我这样错的原因和以后需注意的事项,谢谢了。
因为你这个是说只有当sum=3时才输出a的值,而b和c的值是否输出不受控制,你要这样:
{
if(sum==3)
{
printf("满足该方程的整数解a=%d\n",a);
printf("满足该方程的整数解b=%d\n",b);
printf("满足该方程的整数解c=%d\n",c);
}
}
也就是在你要在if所包含的语句的上下加两个大括号,否则机器就只会认第一个语句,其他的不受控制。
#include <stdio.h>
void main()
{
int a,b,c;
for(a=-5;a<=5;a++)
for(b=-8;b<=7;b++)
for(c=-10;c<=10;c++)
{
if(a*a*a+b*b*b+c*c*c==3)
{
printf("满足该方程的整数解a=%d\n",a);
printf("满足该方程的整数解b=%d\n",b);
printf("满足该方程的整数解c=%d\n",c);
printf("\n");
}
}
}
你忘了加入sum=a*a*a+b*b*b+c*c*c 的条件和if的作用范围超过一句的要用{}括住。
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息