| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 707 人关注过本帖
标题:几点疑问?帮忙看下?
只看楼主 加入收藏
jiawan007
Rank: 1
等 级:新手上路
帖 子:45
专家分:2
注 册:2009-8-1
结帖率:90.91%
收藏
已结贴  问题点数:10 回复次数:5 
几点疑问?帮忙看下?
题目:输入10个数,按从小到大排列
#define N 10
#include<stdio.h>
int main(void)
{
    int a[N],i,j,temp;
    printf("please input %d numbers\n",N);
    for(i=0;i<N;i++)
        scanf("%d",&a[i]);
    for(i=0;i<N-1;i++)
        for(j=0;j<N-1-i;j++)
        {
            if(a[j]>a[j+1])
            {
                temp=a[j];a[j]=a[j+1];a[j+1]=temp;
            }
        }
        printf("the array after sort:\n");
        for(i=0;i<N;i++)
            printf("%5d",a[i]);
            return 0;
}
注:该程序是正确的
1 #define N 10
  #include<stdio.h>
我在别的书上看到这两句好像可以交换顺序,不知道有什么区别?
2 有三个for循环语句,为什么第三个for循环才有“{}”,for循环不是应该都加括号吗?
3 要排序的话应该要循环N-1次,为什么是<,而不是<=?


搜索更多相关主题的帖子: 疑问 
2009-12-02 20:59
xu362726904
Rank: 6Rank: 6
等 级:侠之大者
帖 子:160
专家分:471
注 册:2009-6-18
收藏
得分:2 
那两句好像没什么先后次序
第三个的{}也可以不要 它的后面只有一句要不要是一样的
如果是<=N-1 当i=N-1时,j的范围是0到<0 不会执行循环 没有意义
2009-12-02 21:06
qsccsq123
Rank: 1
等 级:新手上路
帖 子:31
专家分:2
注 册:2009-10-15
收藏
得分:2 
3.i由0到n-2是n-1个数
2009-12-02 22:43
xy4919961
Rank: 5Rank: 5
等 级:职业侠客
帖 子:199
专家分:362
注 册:2009-10-24
收藏
得分:2 
for加不加花括号是看循环体内才语句..如果一个for语句只有一条语句.就不用加.
比如说你这里个for;
   for(i=0;i<N;i++)
       scanf("%d",&a[i]); /* 这里是因为他只有一条语句.所以不用加 */
     for(i=0;i<N-1;i++)   /* 这个红色的括号可以加也可以不加.不过习惯加上去是容易给人读的理解 */
     {   for(j=0;j<N-1-i;j++) /* 这个蓝色括号是因为他循环体内有若干条语句.所以要加括号 */
        {
            if(a[j]>a[j+1])
            {
                temp=a[j];a[j]=a[j+1];a[j+1]=temp;
            }
       }
     }

QQ群:96348241
2009-12-03 00:11
hoho568
Rank: 5Rank: 5
等 级:职业侠客
帖 子:101
专家分:378
注 册:2009-7-14
收藏
得分:2 
前面都说的挺好的,我就不累赘了。。
最后一点说一下,循环是n-1次。为什么是n-1次我就不多做解释了。
因为你从0开始计数的,所以<n-1,其实已经进行了n-1次了。从0加到n-2。。
2009-12-03 00:20
xy4919961
Rank: 5Rank: 5
等 级:职业侠客
帖 子:199
专家分:362
注 册:2009-10-24
收藏
得分:0 
最后那点 .2楼已经讲了.我就没必要说啦.

QQ群:96348241
2009-12-03 00:24
快速回复:几点疑问?帮忙看下?
数据加载中...
 
   



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

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