精华内容
下载资源
问答
  • 喜欢的同学记得点赞、转发、收藏哦~后续C语言经典100例将会以pdf和代码的形式发放到公众号欢迎关注:计算广告生态 即时查收1 题目函数:sort()功能:使用指向指针指针对字符串排序描述:使用指向指针指针对字符...

    系列文章《C语言经典100例》持续创作中,欢迎大家的关注和支持。

    喜欢的同学记得点赞、转发、收藏哦~

    后续C语言经典100例将会以pdf和代码的形式发放到公众号

    欢迎关注:计算广告生态 即时查收

    1 题目

    函数:sort()

    功能:使用指向指针的指针对字符串排序

    描述:

    使用指向指针的指针对字符串排序,输出是按照字母顺序进行排序

    75e70ac2f1980678c799c426f8117752.png

    2 思路

    a. 熟悉指向指针的指针的使用

    char *nums[]={"", ""};char **p;p = nums;

    熟悉 *p 指向的是 nums[0] 的首地址

    b. 引用模块#include

    使用函数 int strcmp(const char *str1, const char *str2) 进行字符串的比较

    该函数返回值如下:

    • 如果返回值小于 0,则表示 str1 小于 str2。
    • 如果返回值大于 0,则表示 str1 大于 str2。
    • 如果返回值等于 0,则表示 str1 等于 str2。

    3 代码

    #include  #include #define N 10/**函数:fun()功能:使用指向指针的指针对字符串排序描述:使用指向指针的指针对字符串排序,输出是按照字母顺序进行排序**/void sort(char **p) { char *temp;  // 排序交换时的临时变量 for (int i = 0; i  0) {  // 使用strcmp进行字符串的比较    temp = *(p+i);    *(p+i) = *(p+j);    *(p+j) = temp;   }  } }}int main(int argc, char const *argv[]) {  int n = 5;  char **p; char *nums[] = {  "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten" }; p = nums;   // 使用指向指针的指针指向字符串数组 printf("排序前的数组内容为:"); for (int i = 0; i 

    示例结果:

    $ gcc ex016.c -o demo$ ./demo排序前的数组内容为:one two three four five six seven eight nine ten排序后的数组内容为:eight five four nine one seven six ten three two

    --END--

    喜欢本文的同学记得点赞、转发、收藏~

    更多内容,欢迎大家关注我们的公众号:计算广告生态

    后续C语言经典100例将会以pdf和代码的形式发放到公众号

    同时也带来更多系列文章以及干货!

    展开全文
  • 057使用指向指针指针对字符串排序1.题目2.代码3.输出结果截图 1.题目 本实例使用指向指针指针实现对字符串数组中的字符串排序输出,输出是按照汉字的首字母进行排序的。 2.代码 #define _CRT_SECURE_NO_WARNINGS...

    057使用指向指针的指针对字符串排序

    1.题目

    本实例使用指向指针的指针实现对字符串数组中的字符串排序输出,输出是按照汉字的首字母进行排序的。

    2.代码

    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    
    //strcmp(str1,str2)
    //比较 str1 和 str2 的大小,当str1>str2时,返回正数
    //str1=str2时,返回0
    //str1<str2时,返回负数
    
    sort(char* strings[], int n)
    {
    	char* temp;
    	for (int i = 0; i < n; i++)
    	{
    		for (int j = i + 1; j < n; j++)
    		{
    			if (strcmp(strings[i], strings[j]) > 0)		//比较两个字符
    			{
    				temp = strings[i];
    				strings[i] = strings[j];
    				strings[j] = temp;
    			}
    		}
    	}
    }
    int main()
    {
    	int n = 6;
    	char** p;
    	char* strings[] = { "赵XX","钱XX","孙XX","李XX","周xx","武XX" };
    
    	p = strings;					//指针指向数组首地址
    	printf("排序前的数组:\n");
    	for (int i = 0; i < n; i++)
    	{
    		printf("%s\n", *(p + i));
    	}
    	sort(p, n);						//调用排序自定义过程
    	printf("排序后的数组:\n");
    	for (int i = 0; i < n; i++)		//输出排序后的元素
    	{
    		printf("%s\n", *(p + i));
    	}
    	system("pause");
    	return 0;
    }
    
    

    3.输出结果截图

    057使用指向指针的指针对字符串排序

    展开全文
  • 1 /* Note:Your choice is C IDE */ ... 4 /*使用指针指针对字符串排序*/ 5 /*排序是按照汉字的首字母进行*/ 6 /* 7 *整体思路:1、输出排序前的数组元素 8 9 * 2、输出排序后的数...
     1 /* Note:Your choice is C IDE */
     2 #include "stdio.h"
     3 #include "string.h"
     4 /*使用指针的指针对字符串排序*/
     5 /*排序是按照汉字的首字母进行*/
     6 /*
     7 *整体思路:1、输出排序前的数组元素
     8             
     9 *           2、输出排序后的数组元素
    10             
    11 */
    12 //自定义函数sort(),实现对字符串的排序
    13 sort(char*strings[],int n)//参数1:字符型指针数组。参数2:整型变量
    14 {
    15     char *temp;        //声明字符型指针变量
    16     int i,j;        //声明整型变量
    17     for(i=0;i<n;i++)            //之所以要两个循环,因为每个数都要和其他比较
    18     {
    19         for(j=i+1;j<n;j++)
    20         {
    21             /*
    22             *strcmp如何实现两个字符的比较??
    23             ① str1小于str2,返回负值或者-1(VC返回-1);              
    24             ② str1等于str2,返回0;
    25             ③ str1大于str2,返回正值或者1(VC返回1);
    26             */
    27             if(strcmp(strings[i],strings[j])>0)//比较两个字符
    28             {
    29                 temp=strings[i];//交换字符位置
    30                 strings[i]=strings[j];
    31                 strings[j]=temp;
    32                 }
    33             }
    34         }
    35     }
    36 
    37 void main()
    38 {
    39     int n=5;
    40     int i;
    41     //char *strings[];
    42     char **p;//指向指针的指针变量
    43     char *strings[]={"c","a","d","b","e"};//初始化字符串数组
    44     p=strings;//指针指向数组首地址
    45     printf("排序前的数组:\n");
    46     for(i=0;i<n;i++)
    47     {
    48         printf("%s\n",strings[i]);
    49     }
    50     sort(p,n);//调用排序自定义过程
    51     printf("\n排序后的数组:\n");
    52     for(i=0;i<n;i++)//循环输出排序后的数组元素
    53     {
    54         printf("%s\n",strings[i]);
    55     }
    56     getch();
    57 }
    58 
    59 /*总结:
    60 1、
    61 两个数字交换一般思路,需要另一个载体,
    62 *例如a和b数值交换,需要借助c,
    63 *把a的数值赋值给c,
    64 *再把b的数值赋值给a,
    65 *再把c的数值赋给a,
    66 *从而实现a和b数值的交换
    67 2、双重for循环用于每个数都要与其他数比较
    68 */

     

    转载于:https://www.cnblogs.com/kinson/p/7684222.html

    展开全文
  • 使用指向指针指针对字符串排序 /**************************************** 功能:使用指向指针指针对字符串排序 日期:2014年12月8日10:49:33 *****************************************/ #include #include ...

    使用指向指针的指针对字符串排序

    /****************************************
    功能:使用指向指针的指针对字符串排序
    日期:2014年12月8日10:49:33
    *****************************************/
    #include<stdio.h>
    #include<string.h>
    sort(char *strings[], int n)
    {
    	char *temp;
    	int i, j;
    	for (i = 0; i < n; i++)
    	{
    		for (j = 0; j < n; j++)
    		{
    			if (strcmp(strings[i], strings[j]) > 0)//比较两个字符串的长度
    			{
    				temp = strings[i];//交换字符位置
    				strings[i] = strings[j];
    				strings[j] = temp;
    			}
    		}
    	}
    }
    void main()
    {
    	int n = 5;
    	int i;
    	char **p;
    	char *strings[] = {"C language","Basic","World wide","Hello world","Great wall"};
    	p = strings;//指向数组首地址
    	sort(p, n);
    	for(i = 0; i < n; i++)
    		printf("%s\n",strings[i]);
    }
    /******************************
    World wide
    Hello world
    Great wall
    C language
    Basic
    Press any key to continue
    ******************************/


    展开全文
  • 指针数组是一种灵活的存字符串的方式,使用交换排序思想对字符串进行排序 //字符串排序(数组法) void SortStr1(char str[5][9]){ char temp[9]; int i,j; printf("Before sorted:\n"); for(i=0;i<5;i++){...
  • 利用指针对字符串排序

    千次阅读 2015-12-03 20:20:36
    #include #include int main() { void sort(char *pt[], int number); ...void print(char *pt[], int number);... //这里的0不是数字0,而是字符0,代表的含义是'\0'(空字符); char *p[3]; //定义一个数组
  • *stream,更重要的是,fgets()可以指定最大读取的字符串的个数,杜绝了gets()使用不当造成缓存溢出的问题。       #include #include typedef enum { false = 0 , true = 1 } bool ; #include...
  • 字符串排序指针

    千次阅读 2017-12-05 18:55:55
    从主函数输入十个不等长的字符串,编写函数,这些串进行排序,在主调函数中输出排好序的串。 #include #include void fun(char *p1[10]) {  int i,j;  char *pt; //定义临时指针变量,用于交换地址  ...
  • 喜欢的同学记得点赞、转发、收藏哦~后续C语言经典100例将会以pdf和代码的形式发放到公众号欢迎关注:计算广告生态 即时查收1 题目函数:sort()功能:使用指向指针指针对字符串排序描述:使用指向指针指针对字符...
  • 题目要求:十个不等长的字符串排序,要求用指针数组处理。 我的代码: ``` #include #include int main() { char a[10],*pointer=&a[0]; void order(char *pointer); int i; printf("请输入10个字符...
  • 用指向指针指针对字符串进行排序。 指向指针指针,就是char ** pptr啦。pptr是一个指针,指向的地址内容存储的又是指向字符串的指针。 因此,首先要为pptr分配内存,存放指针,可以申请一个连续的区域来存放...
  • [size=large]说实话前面的对整数的指向指针排序真没看出有什么意思,但是这个对字符串的指向指针排序方法让我察觉到了其意义所在,字符串一般都需要大量的存储空间来保存,如果直接对其进行排序,必然涉及到大量...
  • 利用数组指针对字符串排序

    千次阅读 2018-07-26 20:56:04
    1 #include 2 #include 3 #define N 3 4 5 int main() 6 { 7 char str[N][20],*p[N... 24 printf("输出排序后的字符;\n"); 25 for(i = 0;i ;i++) 26 printf("%s\n",p[i]); 27 return 0; 28 } ~ ~  
  • printf("排序前的数组为:"); for (i = 0; i ; i++) { printf("%s ", strings[i]); } printf("\n"); change(n, strings); printf("排序后的数组为:"); for (i = 0; i ; i++) { printf("%s ", strings[i]...
  • //用另一函数排序。然后再主函数中输出这10个已排好序的字符串。 //用指针数组处理 #include <string.h> #include <stdio.h> void Sortchar(char **str,int len) { char * tmp; for(int i=0;i<...
  • 用指向指针指针的方法5个字符串排序并输出
  • 指针数组比较适合用来指向若干个字符串,使字符串处理起来更加灵活 例:将若干字符串按字母顺序(从小到大)输出 思路: 定义指针数组name,用各字符串对它进行...//对字符串排序,(冒泡排序法) #include <...
  • 字符串排序: 请编写C程序,输入5个不同的且为字符格式的学生编号,将其先由大到小排序, 再将最大的学生编号和最小的学生编号互换位置,然后输出此时5位学生的编号。 输入 输入5位学生的编号(只含数字字符、英文字母或...
  • #include #include void Solve(); void sort(char *name[], int n); int main() { Solve(); return 0; } void Solve(){ int a,i; char *s[20]; scanf("%d\n",&a); ...}
  • //C程序设计第四版(谭浩强) //章节:第八章 善于利用指针 //题号:8.20 //题目:用指向指针指针的方法对5个字符串排序并输出。...void sort(char *p[],int n) //对字符串排序的函数 { char *te...
  • /*用指向指针指针的方法5个字符串排序并输出*/ #include <stdio.h> #include <string.h> #define N 10 int main() { char *str[5]={"12","11","40","35","36"}; int i,j; char **p,*t; p = ...
  • #define LINEMAX 20 /* 用指向指针指针的方法5个字符串排序并且输出 */int main(int argc, char *argv[]) { //指向指针指针的方法5个字符串排序 void sort(char **p); char **p,*pstr[5],st...
  • C语言读取字符串,并对字符串排序

    千次阅读 2014-04-12 12:23:46
    #include #include #define SIZE 81 //每行的字符长度限制 #define LIM 20 //最多读取行数 #define HALT " " //用空字符串终止输入 ...//字符串指针排序函数 int main (void){ char input[LIM][SIZE]; c
  • 对字符串进行排序的问题,被指针搞糊涂了。 ``` #include #include #include int main() { void sort(char p[][5]); char ss[10][5]={"worin","trafi","panda","dalai","lama2","strin","tende","racof","lenth",...
  • 方法一:用二维数组做函数参数; 方法二:用指向一维数组的指针做函数参数; 方法三:用string数组; 方法四:(即第12题)用指针数组做函数参数,字符串不等长。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 538
精华内容 215
关键字:

对字符串排序指针