| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 464 人关注过本帖
标题:求大神给出详细程序
只看楼主 加入收藏
阶段丶成长
Rank: 2
来 自:中国
等 级:论坛游民
帖 子:41
专家分:32
注 册:2013-11-11
结帖率:87.5%
收藏
 问题点数:0 回复次数:6 
求大神给出详细程序
用冒泡法或简单选择法输出10个数的大小(从大到小)
2013-11-22 23:31
飘叶csc
Rank: 2
等 级:论坛游民
帖 子:23
专家分:34
注 册:2013-11-13
收藏
得分:0 
好吧!我也在纠结这个问题!不过你还是贴点代码出来啊。求高手把下面的程序修改,调用函数,让数组从小到大输出。
#include <stdio.h>

int LINE(int a,int b)//老师说要调用函数的,这真心不知怎么弄
{
    int t;
    if(a>b)
        t=a;
        a=b;
        b=t;
        return 0;

}
int main(void)
{
    int a[10],i,j;
    printf("请输入10个整数\n");
    for(i=0;i<10;i++)
        scanf("%d",&a[i]);
     for(i=1; i<10;i++)//这个不知道怎么排序,从小到大
     {
         for(j=0; j<10; j++)
         LINE(a[i], a[i+1]);
     }   
    for(i=0; i<10; i++)//输出后来的排序的值
        printf("%-5d",a[i]);
}
2013-11-23 10:42
loveClangage
Rank: 8Rank: 8
来 自:广东云浮
等 级:蝙蝠侠
帖 子:326
专家分:891
注 册:2013-8-23
收藏
得分:0 
int LINE(int * a,int * b)//老师说要调用函数的,这真心不知怎么弄
{
     int t;
     if(*a>*b)
         t=a;
         a=b;
         b=t;
         return 0;

 }
 int main(void)
 {
     int a[10],i,j;
     printf("请输入10个整数\n");
     for(i=0;i<10;i++)
         scanf("%d",&a[i]);
      for(i=0; i<10;i++)//这个不知道怎么排序,从小到大
     {
          for(j=i+1; j<10; j++)
          LINE(&a[i], &a[j]);
      }   
     for(i=0; i<10; i++)//输出后来的排序的值
        printf("%-5d",a[i]);
 }

我只是修改了,没有去试过,你去试试吧,

编写的程序,不能改变世界,却可以改变自己...
2013-11-23 19:59
飘叶csc
Rank: 2
等 级:论坛游民
帖 子:23
专家分:34
注 册:2013-11-13
收藏
得分:0 
回复 3楼 loveClangage
感谢哈!不过还是照原样输出了,调试例子:
请输入10个整数
12
13
45
68
9
1
25
23
665
89
12   13   45   68   9    1    25   23   665  89   Press any key to continue

[ 本帖最后由 飘叶csc 于 2013-11-24 09:06 编辑 ]
2013-11-24 09:00
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
百度都不懂

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-11-24 10:17
zhangqidaxia
Rank: 2
等 级:论坛游民
帖 子:17
专家分:22
注 册:2013-10-16
收藏
得分:0 
#include<stdio.h>

void sort(int * a,int len)
{
    int i,j,t;
    for(i=0;i<len-1;++i)
    {
        for(j=0;j<len-1-i;++j)
        {
            if(a[j]>a[j+1])
            {
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
            }
        }
    }
}

int main(void)
{
    int a[10];
    int i;
    for(i=0;i<10,++i)
    {
        scanf("%d",&a[i]);
    }  
    sort(a,10);
    for(i=0;i<10;++i)
    {
        printf("%d  ",a[i]);
    }
    printf("\n");

    return 0;
}
2013-11-24 10:17
谢跃锋
Rank: 2
等 级:论坛游民
威 望:2
帖 子:50
专家分:77
注 册:2013-4-14
收藏
得分:0 
回复 2楼 飘叶csc
你确定你的调用函数是正确的吗?好像作用只是交换两个数。。。而且你最后的一个for循环里面打印的是你前面的数,,当然按原样输出咯。。
2013-11-24 10:52
快速回复:求大神给出详细程序
数据加载中...
 
   



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

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