| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 273 人关注过本帖
标题:新手救助
只看楼主 加入收藏
Baink
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-12-9
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
新手救助
#include "Stdio.h"

int main(void)
{
  int i,j,sum=0, mul=1, a[5][5];
  printf("Input 5*5 array:\n");
  for(i=0; i<5; i++)
   for(j=0; j<5; j++)
   scanf("%d", &a[i][j]);
  printf("\n");
  for(i=0; i<5; i++);
  {
     sum+=a[i][j];
     if(i!=2)
       sum+=a[i][4-i];
     if(i%2!=0)
      continue;
     mul*=a[i][j];
     if(i!=2)
       mul*=a[i][4-i];
  }
  printf("sum=%d  mul=%d\n", sum, mul);
  getch();
在这里面的continue有什么错误吗?为什么我运行时会提示编译错误。而且提示说‘continue’位置错在 main 函数中
搜索更多相关主题的帖子: continue include 
2012-12-09 11:42
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:9 
  for(i=0; i<5; i++);
问题出在这个分号上,我想楼主懂的。
但是还有个问题,在for循环里,i++是最后执行的,而continue是跳过循环中剩下的执行部分进入下个循环,页就是说continue后i会以原值进入下一个循环,会不会死循环啊。。。。。。。。

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-09 12:03
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:11 
回复 2楼 yaobao
continue是跳过循环中剩下的执行部分进入下个循环,但是i++是会执行的


[fly]存在即是合理[/fly]
2012-12-09 12:19
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
回复 2楼 yaobao
continue后会执行i++的

总有那身价贱的人给作业贴回复完整的代码
2012-12-09 12:23
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
continue是开启下一次迭代,不是重新建立循环。for()语法的形式,第一个分号前的初始化部分,很容易让人觉得每次迭代都会执行,但其实只有后面两个部分是每次都执行的。

授人以渔,不授人以鱼。
2012-12-09 12:30
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
回复 楼主 Baink
哦,现在在外面,回家之后试一下

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-09 14:16
shmilyflf
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:356
专家分:1008
注 册:2012-12-9
收藏
得分:0 
楼主的程序好乱啊,很多可以表大括号的你不标。虽然可以不标,但是建议还是标吧,为了自己也为了别人以后看起来方便。并且加点注释吧,一句注释没有,最齐码说说函数要干什么啊。
#include "Stdio.h"
 
int main(void)
 {
   int i,j,sum=0, mul=1, a[5][5];
   printf("Input 5*5 array:\n");
   for(i=0; i<5; i++)
    for(j=0; j<5; j++)
    scanf("%d", &a[i][j]);//依次给数组赋值
   printf("\n");
   for(i=0; i<5; i++);//这个下面是不是缺个for(j=0;j<5;j++)?当然,肯定多个;
   {
      sum+=a[i][j];//要是没有那个for,j一直等于4的
      if(i!=2)
        sum+=a[i][4-i];//这个应该是对角线的值相加吧,但去掉=2的那个情况
      if(i%2!=0)
       continue;
      mul*=a[i][j];
      if(i!=2)
        mul*=a[i][4-i];//这个程序的计算量还不小呢
   }
   printf("sum=%d  mul=%d\n", sum, mul);
   getch();
}
2012-12-09 19:23
快速回复:新手救助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012059 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved