赋值问题
给一个变量赋值,位置的问题,大神来帮一下新手菜鸟。 我只是口头算了一下如果你的c放外面,你执行for循环的时候c是一直往上加的,好像c是一直不可能等于a的
如果你的c放里面,相当于每执行一次a的循环开始时c都置0了,才有可能让c==a
下次发代码的时候用代码格式发,就在编辑框有个<>符号,然后把代码粘到那里就行, 这样别人也好把你的代码复制下来调试,要不只能拿眼睛看了。。。 我粗略看了一下你的代码没语法错误。
出现黑框,,,可能根本无法输出值。。。所以一直黑框。 #include <stdio.h>
int one=0,two=0;
int main ()
{
int a,b,c;
c=0;
for (a=2;a<=1000;a++)
{
for (b=1;b<a;b++)
{
if (a%b==0)
c=c+b;
two+=1;
}
if (c==a)
printf ("%d its factors are ",a);
one+=1;
}
printf ("%d\t%d\n",one,two);
return 0;
}
/*编写的程序没有错,只是没有达到判断的要求,所以没显示出打印,也就是说c永远不等于a*/ shuofxz 发表于 2016-3-8 22:42
我只是口头算了一下
如果你的c放外面,你执行for循环的时候c是一直往上加的,好像c是一直不可能等于a的
...
谢谢了,明白了。下次注意了发图片也发代码。原来是要c恢复变0. DAY 发表于 2016-3-9 07:51
我粗略看了一下你的代码没语法错误。
出现黑框,,,可能根本无法输出值。。。所以一直黑框。
c在外面就没恢复变0,所以一直不等于a 满满 发表于 2016-3-9 08:56
嗯,谢谢了,有点笨自己。
页:
[1]