| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 352 人关注过本帖
标题:请教一个c的问题,关于输出排序的
只看楼主 加入收藏
金石201
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-8-31
收藏
 问题点数:0 回复次数:2 
请教一个c的问题,关于输出排序的
本来是已经有先人发表文章了,不过我发现我写的还是出错,不知怎么回事
输入5,2,9,7
2,5,7,5Press any key to continue
明显错误,看一下代码啊大家:
#include <stdio.h>
void main ()
{
    int a,b,c,d,t;
    scanf("%d,%d,%d,%d",&a,&b,&c,&d);
    if (a>b)
    {
        t=a;
        a=b;
        b=t;
    }
    if (a>c)
    {
        t=a;
        a=c;
        c=t;
    }
    if (a>d)
    {
        t=a;
        a=d;
        d=t;
    }
    if (b>c)
    {
        t=b;
        b=c;
        c=t;
    }
    if (b>d)
    {
        t=b;
        b=d;
        d=t;
    }
    if (c>d)
    {
        c=t;
        c=d;
        d=t;
    }
    printf("%d,%d,%d,%d",a,b,c,d);
}
2015-08-31 17:49
金石201
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-8-31
收藏
得分:0 
解决了噢
 if (c>d)
    {
        c=t;
        c=d;
        d=t;
这里写错了
应该是t=c
2015-08-31 18:07
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
程序代码:
#include<stdio.h>
#include<stdlib.h>
typedef struct Node{
int data;
Node *next;
}Node;
void sortBubble(Node *head)
{
   Node *h=head.next,*last=head;
   while(last.next!=null)
   {
       last=last.next;
   }
   for(Node *r=h;r.next!=null;r=r.next)
   {
        Node *loc=head;
        while(loc!=last)
        {
                loc=loc.next;
        }
        last=loc;
        for(Node *c=h;c.next!=null&&c!=loc;c=c.next)
       {
           if(c.data>c.next.data)
           {
                    c.data=c.data+c.next.data;
                    c.next.data=c.data-c.next.data;
                    c.data=c.data-c.next.data; 
//                    display(head); 
            }
        }
    }
}
void display(Node head)
{
    Node *h=head.next;
    while(h!=null)
    {
            printf("%3d",h.data);
            h=h.next;
    }
    printf("\n");
}

 main()

 {
        Node *head=(Node *)malloc(sizeof(Node));
        Node *h=head;
        int[] a=new int[]{7,2,1,6,5,3,4};
        for(int i=0;i<7;i++)
        { 
            Node *newNode=new Node();
            newNode.data=a[i];
            newNode.next=null;
            h.next=newNode;
            h=h.next;
        }
        h=null;
        sortBubble(head);
        display(head);
    }
}


[ 本帖最后由 林月儿 于 2015-8-31 18:30 编辑 ]

剑栈风樯各苦辛,别时冰雪到时春
2015-08-31 18:28
快速回复:请教一个c的问题,关于输出排序的
数据加载中...
 
   



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

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