| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 444 人关注过本帖
标题:[求助] 帮我解答一个题目!~~~谢谢啦。。。
只看楼主 加入收藏
qvbnlaw
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2009-11-11
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:5 
[求助] 帮我解答一个题目!~~~谢谢啦。。。
题目:  “王者归来”,听啦名字就象是关于位置的问题,当“王者”回来之后我们需要给他一个适当的位置,这个位置要根据其他官职的大小来定,为了方便表达,把每个官员用数字表示 比如:
(1)先输入如干代表官职的数字: 3  2  6  4  8
(2)官职的排序时: 2  3  4  6  8
(3)此时王者归来, 5  6  7(代表王者)
(4)安排位置后: 2  3  4  5  6  6  7  8  
要求:
(1)可以任意输入一些代表官职和王者的数字。
(2)当输入代表王者的数字后实现位置安排。
(3)输出安排位置之后的位置顺序。

555555,我弄了好久都没弄出来,希望哪位达人可以给出C语言的源程序。。。小弟感谢啦。。。。

[ 本帖最后由 qvbnlaw 于 2009-11-17 13:21 编辑 ]
搜索更多相关主题的帖子: 王者归来 
2009-11-17 13:17
qvbnlaw
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2009-11-11
收藏
得分:0 
自己顶起。。。。。。。
2009-11-17 13:18
apeng332
Rank: 2
等 级:论坛游民
帖 子:44
专家分:40
注 册:2009-5-12
收藏
得分:10 
题目这么复杂,原来就是一个排序问题,
2009-11-17 13:21
qvbnlaw
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2009-11-11
收藏
得分:0 
自己顶。。。。谢谢各位啦。。。
2009-11-17 13:22
佳嘉
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:3
帖 子:534
专家分:1383
注 册:2009-11-8
收藏
得分:10 
#include<stdio.h>
#include<malloc.h>
typedef int elemtype;
typedef struct node
 {
  elemtype data;
  struct node *next;
 }linklist;
linklist *creatlist(int n)        /*创建链表*/
{
     int x,k;
     linklist *head,*r,*p;
     p=(linklist *)malloc(sizeof(linklist));
     head=p;
      p->next=NULL;
      r=p;
      for(k=1;k<=n;k++)
         {
             printf("官员大小x=");
             scanf("%d",&x);
             p=(linklist *)malloc(sizeof(linklist));
             p->data=x;
             p->next=NULL;
             r->next=p;
            r=r->next;
          }
return head;
}
linklist *insert(linklist *head,int n)    /*插入*/
  {

    linklist *p,*q;;
    p->next=head->next;
    while(p->next)
     {
       p=p->next;
      }
     q=(linklist *)malloc(sizeof(linklist));
     q->data=n;
     q->next=NULL;
     p->next=q;
   return head;
  }
linklist *compo(linklist *head)  /*从小到大排序*/
{
  int i,j,t;
  linklist *p,*r;
  p=head->next;
   while(p)
     {
      j=p->data;
      r=p->next;
            while(r)
              {
               if(r->data<j)
                  {
                    t=r->data;
                    r->data=j;
                    j=t;
                  }
                 r=r->next;
                }
       p->data=j;
      p=p->next;
     }
return head;
}
void main()
{
 linklist *head,*p,a;
 int n,i,m;
 printf("请输入官员的个数:n=");
 scanf("%d",&n);
 head=&a;
 printf("请依次输入每一个官员的大小\n");
 head=creatlist(n);
 head=compo(head);      /*排序*/
 p=head->next;
 while(p)
        {
          printf("%d ",p->data);
          p=p->next;
         }
 printf("\n");
 printf(" 请输入王者的个数:n=");
 scanf("%d",&n);
 printf("请依次输入每一个王者的大小\n");
   for(i=1;i<=n;i++)
         {
              printf("请输入王者的大小 m=");
              scanf("%d",&m);
              head=insert(head,m);
          }
 head=compo(head);   /*排序*/
 printf("最终排序 :\n");
 p=head->next;
 while(p)
  {
    printf("%d ",p->data);
    p=p->next;
   }
  getch();
  return 0;
}
2009-11-17 14:15
qvbnlaw
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2009-11-11
收藏
得分:0 
大哥。。。谢谢拉。。。小弟我感激不尽。。。。。。。
2009-11-18 09:37
快速回复:[求助] 帮我解答一个题目!~~~谢谢啦。。。
数据加载中...
 
   



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

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