| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1089 人关注过本帖
标题:选择排序10个数为什么不能这样编
只看楼主 加入收藏
itcom
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-3-2
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:5 
选择排序10个数为什么不能这样编
# include "stdio.h"
# define N 10
main()
{
    int i,j,temp,a[N];
    printf("please input the numbers:");
    for(i=0;i<N;i++)
    scanf("%d",&a[i]);
    printf("\n");
    for(i=0;i<N;i++)
    for(j=i+1;j<N;j++)
    {
        if (a[i]>a[j])
        {temp=a[i];a[i]=a[j];a[j]=temp};
    }
    for(i=0;i<N;i++)
    printf("%5d",a[i]);
   
}

[此贴子已经被作者于2017-3-10 10:46编辑过]

2017-03-10 10:44
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:5 
temp=a[i];a[i]=a[j];a[j]=temp;
这样要加上花括号
如果你想省掉花括号,可以这样
temp=a[i],a[i]=a[j],a[j]=temp;
把分号改成逗号。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-03-10 10:46
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
咦…………我眼花成这样吗,少看了花括号?还是你改掉了?

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-03-10 10:46
itcom
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-3-2
收藏
得分:0 
改掉的,可以了,还有我输入数的时候错了 我输入数中间加逗号了,换成空格就好了
谢谢你
2017-03-10 11:00
itcom
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2017-3-2
收藏
得分:0 
for(i=0;i<N-1;i++)
{min=i;
for(j=i+1;j<N;j++)
if(a[min]>a[j])
 min=j; tem=a[i]; a[i]=a[min]; a[min]=tem; }
但我搜网页,好多都是这样编的,这样和我原来的有什么区别呢?谢谢
2017-03-10 11:03
蹴鞠者
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:82
专家分:134
注 册:2016-9-26
收藏
得分:5 
回复 5楼 itcom
for(i=0;i<N-1;i++)
{min=i;
for(j=i+1;j<N;j++)
if(a[min]>a[j])
 min=j; tem=a[i]; a[i]=a[min]; a[min]=tem; }
滴9个数和第10个数比较,所以i的值只取到第9个,至于大括号的位置,你的和这个其实是一样的,因为这在第一个for下面还有一个min,这个min要不要都无所谓
2017-03-10 11:52
快速回复:选择排序10个数为什么不能这样编
数据加载中...
 
   



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

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