c语言简单编程求助 菜鸟求助~~~

单单看程序,不管定义呀什么的 下面两个编程有什么不同??
for(i=0;i<195;i++)
if(a[i]<a[i+1]&&a[i]<a[i+2]&&a[i]<a[i+3]&&a[i]<a[i+4]&&a[i]<a[i+5]&&a[i]%2==0) { [cnt]=a[i]; cnt++; }

for(i=0;i<195;i++)
for(j=i+1;j<i+6;j++)
if(a[i]>=a[j])
break;
if(a[i]<a[j]&a[i]%2==0)
{ [cnt]=a[i]; cnt++; }
从程序上粘贴下来再调整出了差错 换行都被我删掉了 请大神们忽略掉~ 是b[cnt]=a[i] b被我不小心删掉了~~
问题的关键是一连串的并和 设的j if break 语句有什么差别 为什么结果不一样~~~ 求助~~多谢多谢~!!

if(a[i]<a[i+1]&&a[i]<a[i+2]&&a[i]<a[i+3]&&a[i]<a[i+4]&&a[i]<a[i+5]&&a[i]%2==0;;)后面差2个分号。还有 [cnt]=a[i]; 是什么东西啊追问

是b[cnt]=a[i]啦~~不好意思输入错了 我是想问这一串的并和我设的那个j if break 有什么差别 为什么结果是不一样的。。。多谢多谢~!!

追答

我看错了,我想想。
for(i=0;i=a[j])
break; //这一个break,只是跳出了这个6个的循环,并没有跳出整个循环,所以就错了。
if(a[i]<a[j]&a[i]%2==0)
{ [cnt]=a[i]; cnt++; }

追问

那 大神要怎么改呀???

追答

这个,你怎么没有想明白了。第一个程序,如果你的第一个数比以后的5个数中的任意一个大的话,那就会执行下一个循环,就是i会加1.
而第二个就不会,他只会跳出for(j=i+1;j<i+6;j++)这个循环。进而执行if(a[i]<a[j]&a[i]%2==0)
{ [cnt]=a[i]; cnt++; },如果这个数正好为偶数,那么就会执行cnt]=a[i]; cnt++; 。而本应该执行下一个大循环的。所以,这就是差别!

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答