| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 578 人关注过本帖
标题:[原创]排序算法例程
取消只看楼主 加入收藏
qilindh
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2006-10-7
收藏
 问题点数:0 回复次数:0 
[原创]排序算法例程

实验内容

输入三个整数,按照由小到大的顺序输出。要求然后将程序改为,输入三个字符串,按照由小到大的顺序输入。

1、算法思想

①、数字排序

因为只有三个数字排序,所以采用比较简单的算法:第一个数和第二个数比较,如果第一个数大于第二个数,则交换两个数;用相同的思想分别比较第二个和第三个、第一个和第三个。

②、字符串排序

因为涉及到字符串,又不能预料用户输入的最大长度,所以定义字符串指针存储三个字符串,调用字符串比较函数进行排序。

③、考虑到便于比较,我设计了两个函数分别处理数字排序和字符串排序,在主程序中进行调用。

2、程序代码

#include "stdio.h"

#include "string.h"

void shuzipaixu(int *a,int *b,int *c)

{int tem,tem1;

if(*a>*b){tem1=*a;*a=*b;*b=tem1;}

if(*b>*c) {tem1=*b;*b=*c;*c=tem1;}

if(*a>*b){tem1=*a;*a=*b;*b=tem1;}

printf("%d<%d<%d\n",*a,*b,*c);

}

void zifuchuanpaixu(char *ac,char *bc,char *cc)

{char *tem,*tem1;

if(strcmp(ac,bc)>0){tem1=ac;ac=bc;bc=tem1;}

if(strcmp(bc,cc)>0) {tem1=bc;bc=cc;cc=tem1;}

if(strcmp(ac,bc)>0){tem1=ac;ac=bc;bc=tem1;}

printf("%s<%s<%s\n",ac,bc,cc);

}

main()

{int a1,b1,c1;

char *ac1;int tem;char *bc1;int tem2;char *cc1;

printf("***********利用函数调用分别对数字和字符串进行排序(实验者:齐照林)*************\n");

printf("即将测试第一个函数~~数字排序函数!\n");

printf("请输入三个整数用于测试程序,每输完一个请按回车键!\n");

scanf("%d%d%d",&a1,&b1,&c1);

shuzipaixu(&a1,&b1,&c1);

printf("数字排序测试完毕,接着测试第二个函数~~字符串排序!\n");

printf("请输入三个字符串用于测试程序,每输完一个请按回车键!\n");

scanf("%s%s%s",ac1,bc1,cc1);

zifuchuanpaixu(ac1,bc1,cc1);

printf("测试完毕,按任意键退出\n");

}

搜索更多相关主题的帖子: 法例 字符 数字 算法 定义 
2007-08-25 10:40
快速回复:[原创]排序算法例程
数据加载中...
 
   



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

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