永发信息网

求教!C语言编程高手进,FOR循环。

答案:2  悬赏:40  手机版
解决时间 2021-07-19 00:45
  • 提问者网友:浮克旳回音
  • 2021-07-18 08:59

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呢?
请详细说明下,怎么改正,非常感谢,再说说我这样错的原因和以后需注意的事项,谢谢了。

最佳答案
  • 五星知识达人网友:山河有幸埋战骨
  • 2021-07-18 10:09

因为你这个是说只有当sum=3时才输出a的值,而b和c的值是否输出不受控制,你要这样:


{


if(sum==3)
{


printf("满足该方程的整数解a=%d\n",a);
printf("满足该方程的整数解b=%d\n",b);
printf("满足该方程的整数解c=%d\n",c);
}
}
也就是在你要在if所包含的语句的上下加两个大括号,否则机器就只会认第一个语句,其他的不受控制。


全部回答
  • 1楼网友:旧脸谱
  • 2021-07-18 11:04

#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的作用范围超过一句的要用{}括住。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯