| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 524 人关注过本帖
标题:这两个有什么区别?
取消只看楼主 加入收藏
李若斌
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:219
专家分:184
注 册:2009-9-30
结帖率:90.48%
收藏
已结贴  问题点数:30 回复次数:3 
这两个有什么区别?
最近自己理解for循环有点差别,求大家的解释,假设一个输入数组,将数组中的数由大到小输出,程序如下:
#include <stdio.h>                               #include <stdio.h>
void main()                                      void main()
{ int i,j,temp,a[10];                             { int i,j,temp,a[10];
  a[10]={2,4,6,8,9,5,1,3,7,10};                     a[10]={2,4,6,8,9,5,1,3,7,10};
  for(i=0;i<10;i++)                                 for(i=0;i<9;i++)
  { for(j=i+1;j<10;j++)                              {for(j=i+1;j<10;j++)
   {if(a[i]<a[j]) i=j;}                                if(a[i]<a[j])
    temp=a[i];                                            {temp=a[i];
    a[i]=a[j];                                             a[i]=a[j];
    a[j]=temp;                                             a[j]=temp;}
  }                                                      }
 for(i=0;i<10;i++)                                   for(i=0;i<10;i++)
 printf("%d",a[i]);                                  printf("%d",a[i]);
getch();                                             getch();
}                                                    }
左边和右边运行以后会有相同的结果吗?求详细解释。谢谢。。
还有就是疑问一点  如果想在一个for循环里面有两个执行语句,加{}和不加{}是有差别的对吧?我最近有点想不大明白这个问题了。

[ 本帖最后由 李若斌 于 2009-11-14 11:40 编辑 ]
搜索更多相关主题的帖子: void include 
2009-11-14 11:21
李若斌
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:219
专家分:184
注 册:2009-9-30
收藏
得分:0 
回复 2楼 xiepanqi
数组不是这样赋值??
那个j++那里是打错了。我已经改过了。
想问的是两个有什么区别
2009-11-14 11:41
李若斌
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:219
专家分:184
注 册:2009-9-30
收藏
得分:0 
回复 4楼 gameohyes
问题的来源是来自与另外一个版主在一个问题中的解答 题目是判断出5个学生四个科目的平均成绩然后由大到小输出。
他的回答是这样的#include<stdio.h>
void main()
{
    int i,j;
    float sum,t;
    float a[5][4],ave[5];
    for (i=0;i<5;i++)
    {
        for(j=0,sum=0;j<4;j++)
        {
        scanf("%f",&a[i][j]);
            sum=sum+a[i][j];
        }
    ave[i]=sum/4;
    }
    for(i=0;i<4;i++)
      {
        for(j=i+1;j<5;j++)
        if(ave[i]<ave[j])
          {t=ave[j];ave[j]=ave[i];ave[i]=t;}    我就是看了这里,觉得有点郁闷了
      }
    for(i=0;i<5;i++)
       printf("%.2f\n",ave[i]);
}
2009-11-14 11:47
李若斌
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:219
专家分:184
注 册:2009-9-30
收藏
得分:0 
回复 6楼 lijm1989
正解。我一直不大明白为什么大家用第二个程序,哎...明白了。自己把自己套死了。书上还写了个错误的程序,我还在疑问为什么for循环下面好几个语句为什么只在第二个for循环中加{}。。。。。
2009-11-14 12:05
快速回复:这两个有什么区别?
数据加载中...
 
   



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

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