冒泡排序实现多个字符串的排序
#include <stdio.h>
#include <string.h>void bubble_sort_str(char *str[],int sz) //字符串排序函数
{
int i = 0;
int j = 0;
for (i = 0; i < sz - 1; i++)
{
for (j = 0; j < sz - 1 - i; j++)
{
if (strcmp(*(str + j), *(str + j + 1))>0) /*strcmp字符串比较函数 ,引用头文件#include<string.h> 若前者大于后者则实行交换*/
{
char *tmp = *(str+j);
*(str + j) = *(str + j + 1);
*(str + j + 1) = tmp;
}
}
}
}
int main()
{
int i = 0;
char *str[] = { "aacc", "bbbb", "dddd", "aaaa" }; //定义指针数组
bubble_sort_str(str,sizeof(str)/sizeof(*str));
for (i = 0; i < sizeof(str) / sizeof(str[1]); i++) //采用循环输出字符串,即比较一趟输出一个
{
printf("%s ", *(str+i));
}
printf("\n");
return 0;
}
2.
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main(int argc , char * argv[]) /*main函数参数{第一个参数:argc是一个整型变量,表示命令参数行参数的个数,含第一个参数。
第二个参数:argv[]是个字符数组,每个元素都是一个字符指针,指向一个字符串,这些字符串就是命令行当中的每一个参数。
第三个参数:envp[]是字符指针数组,数组的每一个元素是指向一个环境变量的字符指针。}*/
{int i = 0;
char ch = '0';
int num1 = 0 ;
int num2 = 0;
for(; i < argc; i++)
{
if(i == 2)
{
ch = argv[i][0];
printf("%c/n",ch);
}
if(i == 3)
{
num1 = atoi(argv[i]);
printf("%d/n",num1);
}
if(i == 4)
{
num2 = atoi(argv[i]);
printf("%d/n",num2);
}
}
switch(ch)
{
case 'a': //输出两个数的和
{
printf("%d + %d = %d/n",num1,num2,num1 + num2);
}
break;
case 'b': //输出两个数的差
{
printf("%d - %d = %d/n",num1,num2,num1 - num2);
}
break;
case 'c': //输出两个数的成积
{
printf("%d * %d = %d/n",num1,num2,num1 * num2);
}
break;
case 'd': //输出两个数的商
{
printf("%d / %d = %f/n",num1,num2,num1 /( num2 + 0.0));
}
break;
default:
break;
}
return 0;
}
扫描二维码关注公众号,回复:
1102595 查看本文章