一步一步写算法(字符串由小到大排序)
来源:互联网 发布:windows 运行ios 编辑:程序博客网 时间:2024/06/06 07:57
v 将几个字符串由大到小排序
v 利用指针数组来实现函数
v 程序示例:
#include<stdio.h>#include <stdlib.h>#include <string.h>void sort(char *string[],int len){int i = 0,j = 0;char *tmp;for(i = 0;i < len-1;i++){for(j = 0;j < len - 1 - i;j++){if(strcmp(string[j],string[j+1]) > 0){tmp = string[j];string[j] = string[j+1];string[j+1] = tmp;}}}}int main(){char *string[5]; //定义一个指针数组,里面有5个元素,每个元素都是一个指针 int i = 0;int len;len = sizeof(string)/sizeof(char *); for(i = 0;i < 5;i++) //为数组中每一个元素在堆上分配一段空间 {string[i] = (char *)malloc(sizeof(char)*10); }printf("Please input five strings:\n");for(i = 0;i < 5;i++){scanf("%s",string[i]);}sort(string,len); //单独实现的一个字符串排序函数 printf("after sort :\n"); //输出数组中每一个指针指向的内容 for(i = 0; i < 5;i++) {printf("%s\n",string[i]); }}
运行结果:
Please input five strings:
hello
am
init
123
ABC
after sort :
123
ABC
am
hello
init
v 利用二维数组实现字符串由大到小的排序
v 程序示例:
#include <stdio.h>#include <string.h>int main(){int i = 0;char a[3][20] = {0}; //定义一个二维数组 int j = 0;printf("Please input three strings:\n");for(i = 0;i < 3;i++){scanf("%s",a[i]);}for(i = 0;i < 2;i++) //冒泡排序法进行字符串排序 {for(j = 0;j < 2 - i;i++){//char *tmp;if(strcmp(a[j],a[j+1]) > 0) //当前一个字符串比后一个字符串大的时候,将两个字符串调换 {char tmp[20];strcpy(tmp,a[j]);strcpy(a[j],a[j+1]);strcpy(a[j+1],tmp);}}}printf("after sort :\n");for(i = 0;i < 3;i++){printf("%s\n",a[i]);}return 0;}
运行结果:
Please input three strings:
hello
123
ABC
after sort :
123
hello
ABC
阅读全文
0 0
- 一步一步写算法(字符串由小到大排序)
- 一步一步写算法(之快速排序)
- 一步一步写算法(之合并排序)
- 一步一步写算法(之堆排序)
- 一步一步写算法(之选择排序)
- 一步一步写算法(之快速排序)
- 一步一步写算法(之快速排序)
- 一步一步写算法(之合并排序)
- 一步一步写算法(之堆排序)
- 一步一步写算法(之选择排序)
- 一步一步写算法--堆排序
- 一步一步写算法(之非递归排序)
- 一步一步写算法(之排序二叉树)
- 一步一步写算法(之排序二叉树插入)
- 一步一步写算法(之排序二叉树删除-1)
- 一步一步写算法(之排序二叉树删除-2)
- 一步一步写算法(之排序二叉树删除-3)
- 一步一步写算法(之排序二叉树线索化)
- bzoj1485 [HNOI2009]有趣的数列 ( 组合数 + 卡特兰数)
- 项目leader如何把控团队氛围
- 如何查找出Linux使用的shell版本号
- 电场线模拟实验
- 移动互联网的发展现状
- 一步一步写算法(字符串由小到大排序)
- 方差分析
- 分布式与集群的区别
- @controller和@RestController的用法小结
- nginx反向代理时通过rewrite解决后端资源css/js/img 写了绝对路径的问题
- 学生管理系统---小问题总结
- offer411--两个数字之和为s
- git版本控制器使用(一)
- 全面解析javascript事件流模型以及各事件流模型在浏览器中的兼容性情况