| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 635 人关注过本帖
标题:无法实现名字的排序.
取消只看楼主 加入收藏
yuchin
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2010-5-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:0 
无法实现名字的排序.
//无法实现书名的排序,求!指点.
#include<stdio.h>
#include<string.h>


struct book
{
        char name[10];
        float price;
}
        pers[10];

void change(void);
void print_book(void);
void putinbook(void);

void main()
{   
        putinbook();
        print_book();               
        change();
        printf("That's ok!\n");
        system("pause");
}

void print_book(void)
{
        int i;
        printf("the first turn:\n");
        for(i=0;i<10;i++)
        printf("%s\t%g\n",pers[i].name,pers[i].price);
}

void putinbook(void)
{
        int i;
        printf("Please input 10 books name,price:\n");
        for(i=0;i<10;i++)
        scanf("%s %f",pers[i].name,&pers[i].price);
}
void change(void)
{
        int i,finish,j;
        float min;
        char minname[10];
        printf("the turn after sort:\n");
        printf("book name\tbook price\n");
        for(i=0;i<10;i++)
        {
             finish=1;
             for(j=0;j<10;j++)
             {
                 if(pers[j].price<pers[j+1].price)
                 {
                      min=pers[j].price;
                      pers[j].price=pers[j+1].price;
                      pers[j+1].price=min;
                      strcpy(minname,pers[j].name);
                      strcpy(pers[j].name,pers[j+1].name);
                      strcpy(pers[j+1].name,minname);
                      finish=0;
                 }
                 if(name[j]>name[j+1])
                 {
                     min=name[j];
                     name[j]=name[j+1];
                     name[j+1]=min;
                     strcpy(name[j],name[j+1]);
                     strcpy(name[j+1],minname);
                     finish=0;
                 }
                 
             }
             if(finish==1)   
             break;
        }
        for(i=0;i<10;i++)
        printf("%s\t\t%g\n",pers[i].name,pers[i].price);
}
搜索更多相关主题的帖子: change 名字 
2011-01-14 19:35
快速回复:无法实现名字的排序.
数据加载中...
 
   



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

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