求助,急!!!
小小一段程序,错误在那里?#include<stdio.h>main()
{
int i=0,j=1,m,n;
scanf("%d",&m);
for(n=1;n<=100;n++)
{i=i+1;
if(i>=10) i=i-10;
j=i+j;
if(j>10) j=j-10;
if(j==m){printf("step=%d\n",n);break;}
}
if(n>100) printf("n>100!");
}
搜索更多相关的解决方案:
include
----------------解决方案--------------------------------------------------------
if(n>100) printf("n>100!");
n 为循环控制变量,事先又没有声明为多少怎么能大于100啊?
----------------解决方案--------------------------------------------------------
抱歉,把你的意图先说下。不知道你这个代码到底想干什么。
根据你的代码,i在一下数字之间循环:毫无疑问,这个从代码也可以看出,10个数字为一个循环,
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
根据你的代码,j是在以下数字之间循环:这个只能从结果看出,20个数字为一个循环,
2 4 7 1 6 2 9 7 6 6
7 9 2 6 1 7 4 2 1 1
2 4 7 1 6 2 9 7 6 6
7 9 2 6 1 7 4 2 1 1
2 4 7 1 6 2 9 7 6 6
7 9 2 6 1 7 4 2 1 1
2 4 7 1 6 2 9 7 6 6
7 9 2 6 1 7 4 2 1 1
2 4 7 1 6 2 9 7 6 6
7 9 2 6 1 7 4 2 1 1
如果你输入的m的值不在以上数字中(即m不是1,2,4,6,7,9),那么将肯定打印"n>100!"(因为如果没有中途break,循环结束肯定满足这个条件)。
到现在依然不知道你的代码到底想干什么。。。。。。。
[[it] 本帖最后由 hoodlum1980 于 2008-3-13 02:56 编辑 [/it]]
----------------解决方案--------------------------------------------------------
看不懂代码
----------------解决方案--------------------------------------------------------
同意上边楼主说法!
上边楼主分析的对,你这个程序要表达什么?意图要说明!要不做重复无用功! ----------------解决方案--------------------------------------------------------