| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1149 人关注过本帖
标题:请高手指教"一道排序題"
只看楼主 加入收藏
hxlou520
Rank: 1
来 自:中國_廈門
等 级:新手上路
帖 子:116
专家分:0
注 册:2008-8-29
收藏
 问题点数:0 回复次数:12 
请高手指教"一道排序題"
从键盘上顺序输入10本书的名称和单价,程序按照单价从小到大进行排序,然后输出排序的结果。

那位高手能不能幫我解答下啊...謝謝了,小弟在此感謝



怎么样才能输出单价的同时也把对应的书名一同输出.....
请各位高手帮助下,谢谢了
下面我只是把代码缩段用来调试的,所以没有把10本书的条件全部写进去....
#include<stdio.h>
main()
{
 int i,price[10];
 void Price(int price1[]);
 char bname[10];
 printf("\ninput book name and price:\n");
 for(i=0;i<5;i++)
  scanf("%s",&bname);
 for(i=0;i<5;i++)
  scanf("%d",&price[i]);
 printf("\n");
 Price(price);
}
void Price(int price1[])
{
 int i,j,p,q,temp;
 for(i=0;i<5;i++)
 {
  p=i;q=price1[i];
  for(j=i+1;j<5;j++)
  if(q>price1[j])
  {
   p=j;
   q=price1[j];
  }
  if(i!=p)
  {
   temp=price1[i];
   price1[i]=price1[p];
   price1[p]=temp;
  }
  printf("%d ",price1[i]);
 }
 printf("\n");
}

[[it] 本帖最后由 hxlou520 于 2008-9-6 21:49 编辑 [/it]]
搜索更多相关主题的帖子: 指教 
2008-09-06 13:20
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
不能,随便哪本书都有排序的。
你自己不认真看。

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-09-06 14:08
hxlou520
Rank: 1
来 自:中國_廈門
等 级:新手上路
帖 子:116
专家分:0
注 册:2008-8-29
收藏
得分:0 
不是啊,我自己現在也在調試啊...可是輸入的時候就有點問題了....

我是初學者,不太懂啊....

希望你們以幫我說下就可以了...代碼我可以自己寫....
2008-09-06 14:10
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
算法问题自己解决,况且,我都不知道你准备使用什么算法

曾经发了一个排序算法总结贴,你搜索以下看看?

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-09-06 14:18
hxlou520
Rank: 1
来 自:中國_廈門
等 级:新手上路
帖 子:116
专家分:0
注 册:2008-8-29
收藏
得分:0 
那謝謝你了....
2008-09-06 14:22
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 
一个结构体,一个交换就OK了。
估计LZ基础不是很硬,要多看看书呀。

~~我的明天我知道~~
2008-09-06 16:41
hxlou520
Rank: 1
来 自:中國_廈門
等 级:新手上路
帖 子:116
专家分:0
注 册:2008-8-29
收藏
得分:0 
呵呵,不好意思让你笑话了.....

一定努力把基础学硬...
2008-09-06 20:16
cosdos
Rank: 9Rank: 9Rank: 9
来 自:ShangHai
等 级:蜘蛛侠
威 望:6
帖 子:2109
专家分:1385
注 册:2007-6-19
收藏
得分:0 
typedef struct {
    char Name[81];
    int Prices;
} Book;

Book books[10];

字符串比较 strcmp()
整形比较 > 或 <

[[it] 本帖最后由 cosdos 于 2008-9-6 21:11 编辑 [/it]]

—>〉Sun〈<—
2008-09-06 21:10
hxlou520
Rank: 1
来 自:中國_廈門
等 级:新手上路
帖 子:116
专家分:0
注 册:2008-8-29
收藏
得分:0 
排序问题......
我以下的代码自己写,可是我不知道怎么在输出单价的时候也把对应的书名输出啊??
请各位高手指点下.
谢谢了

#include<stdio.h>
main()
{
 int i,price[10];
 void Price(int price1[]);
 char bname[10];
 printf("\ninput book name and price:\n");
 for(i=0;i<5;i++)
  scanf("%s",&bname);
 for(i=0;i<5;i++)
  scanf("%d",&price[i]);
 printf("\n");
 Price(price);
}
void Price(int price1[])
{
 int i,j,p,q,temp;
 for(i=0;i<5;i++)
 {
  p=i;q=price1[i];
  for(j=i+1;j<5;j++)
  if(q>price1[j])
  {
   p=j;
   q=price1[j];
  }
  if(i!=p)
  {
   temp=price1[i];
   price1[i]=price1[p];
   price1[p]=temp;
  }
  printf("%d ",price1[i]);
 }
 printf("\n");
}
2008-09-06 21:29
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
程序代码:
/*******************************************************************************

        从键盘上顺序输入10本书的名称和单价,程序按照单价从小到大进行排序,
    然后输出排序的结果。

*******************************************************************************/
#include<stdio.h>
#define N 10
#define Y {char c;while(c=getchar()!='\n');}
struct ST
{
    char name[20];
    float money;
}book[N],num;
void _input()  /* 输入 */
{
    int i;
    float m;
    for(i=0;i<N;i++)
    {
        printf("input NO.%d name\n",i+1);
        gets(book[i].name);
        printf("input money:\n");
        scanf("%f",&m);
        Y;  /* 清除键盘缓存 */
        book[i].money=m;
    }
}
void px()  /* 冒泡法排序 */
{
    int i,j;
    for(i=0;i<N;i++)
        for(j=i+1;j<N;j++)
            if(book[i].money>book[j].money)
            {
                num=book[i];
                book[i]=book[j];
                book[j]=num;
            }
}
int main(void)
{
    int i;
    _input();
    px();
    for(i=0;i<N;i++)
        printf("%10s %10.2f\n",book[i].name,book[i].money);
    getch();
}


2008-09-06 22:49
快速回复:请高手指教"一道排序題"
数据加载中...
 
   



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

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