精华内容
下载资源
问答
  • 方法一:用二维数组做函数参数; 方法二:用指向一维数组的指针做函数参数; 方法三:用string数组; 方法四:(即第12题)用指针数组做函数参数,字符串不等长。
  • 现有不定个数(少于100)的字符串(长度小于100,字符串中间没有空白符),字符串之间用空格 或者回车符分隔。按字典顺序排序后输出。 Input 不定行数,每行有不定个数的字符串 Output 一行,字符串用英文逗号分隔...

    Description
    现有不定个数(少于100)的字符串(长度小于100,字符串中间没有空白符),字符串之间用空格 或者回车符分隔。按字典顺序排序后输出。

    Input
    不定行数,每行有不定个数的字符串

    Output
    一行,字符串用英文逗号分隔。参见样例

    Sample Input
    Kundendienst Ihre Vorteile
    Kontakt Zahlungsarten Versandarten
    Lieferzeiten Entsorgung
    Information

    Sample Output
    Entsorgung,Ihre,Information,Kontakt,Kundendienst,Lieferzeiten,Versandarten,V

    //字符串排序(采用指针方式)
    #include<bits/stdc++.h>
    using namespace std;
    int sort1(char a[][105],int n)
    {
        char *t[n];
        int i,j,k;
        for(i=0; i<n; i++)
        {
            t[i]=a[i];
        }
        for(i=0; i<n-1; i++)
        {
            k=i;
            for(j=i+1; j<n; j++)
            {
                if(strcmp(t[k],t[j])>0)
                    k=j;
            }
            if(k!=i)
            {
                char *tt;
                tt=t[k];
                t[k]=t[i];
                t[i]=tt;
            }
        }
        for(j=0; j<n; j++)
        {
            if(j<n-1)
            {
                printf("%s,",t[j]);
            }
            else
                printf("%s\n",t[j]);
        }
    }
    int main()
    {
        char a[100][105];
        int i=0;
        while(~scanf("%s",a[i]))
        {
            i++;
        }
        sort1(a,i);
    }
    

    展开全文
  • 使用指针数组处理字符串非常适合。由于字符串长度不定,使用二维字符数组处理会大量浪费存储空间。 代码示例: #include<stdio.h> #include<stdlib.h> #include<string.h> int main() { int i,j...

    概念:
    一个数组的元素均是指针,则该数组称为指针数组。

    使用指针数组处理字符串非常适合。由于字符串长度不定,使用二维字符数组处理会大量浪费存储空间。

    代码示例:

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    
    int main()
    {
    	int i,j,len;
    	char *temp;
    	char *str[5];
    
    	printf("请输入5个字符串:\n");
    	temp=(char *)malloc(80);
    	for(i=0;i<5;i++)
    	{
    		fgets(temp,80,stdin);
    		fflush(stdin);
    		len=strlen(temp);
    		if(temp[len-1]=='\n')
    		{
    			temp[len-1]='\0';
    			len--;
    		}
    		len++;
    		str[i]=(char*)malloc(sizeof(char)*len);
    		strcpy(str[i],temp);
    	}
    	free(temp);
    	for(i=0;i<5;i++)
    	{
    		for(j=0;j<5-i-1;j++)
    		{
    			if(strcmp(str[j],str[j+1])>0)
    			{
    				temp=str[j];
    				str[j]=str[j+1];
    				str[j+1]=temp;
    			}
    		}
    	}
    	printf("排序后输出结果:\n");
    	for(i=0;i<5;i++)
    	{
    		printf("%s\n",str[i]);
    	}
    	for(i=0;i<5;i++)
    	{
    		free(str[i]);
    	}
    	return 0;
    }
    

    与利用二维数组不同,指针数组是将地址值修改而二维数组是将内存数据修改。

    展开全文
  • 指针字符串排序

    2020-12-09 20:36:46
    #include<stdio.h> #include<string.h> int main() { void swap(char* , char* ); char a[20]; char b[20]; ...//获得字符串 gets(b); gets(c); if(strcmp(a , b)>0) swap(a
    #include<stdio.h>
    #include<string.h>
    int main()
    {
       void swap(char* , char* );	
       char a[20];
       char b[20];
       char c[20];
       printf("please enter three strings:");
       gets(a);//获得字符串
       gets(b);
       gets(c);
       if(strcmp(a , b)>0) swap(a , b);
       if(strcmp(a , c)>0) swap(a , c);
       if(strcmp(b , c)>0) swap(b , c);
       printf("The order is: %s,%s,%s\n",a,b,c);
       return 0;	
    } 
    void swap(char *pt1, char *pt2)//交换字符串
    {
    	char pt[20];
    	strcpy(pt , pt1);
    	strcpy(pt1 , pt2);
    	strcpy(pt2 , pt);
    
    展开全文
  • 字符串排序指针

    千次阅读 2017-12-05 18:55:55
    从主函数输入十个不等长的字符串,编写函数,这些串进行排序,在主调函数中输出排好序的串。 #include #include void fun(char *p1[10]) {  int i,j;  char *pt; //定义临时指针变量,用于交换地址  ...

    从主函数输入十个不等长的字符串,编写函数,对这些串进行排序,在主调函数中输出排好序的串。

    #include<stdio.h>
    #include<string.h>
    void fun(char *p1[10])
    {
     int i,j;
     char *pt;                   //定义临时指针变量,用于交换地址
     for(i=0;i<9;i++)
           for(j=0;j<9-i;j++)
           if(strcmp(p1[j],p1[j+1])>0)
           {
            pt=p1[j];p1[j]=p1[j+1];p1[j+1]=pt;     //若前字符串大于后字符串,则交换地址(未交换字符串)
        }
     }
     int main()
     {
      int i,j;
      char s[10][30];
      char *p[10];
      for(i=0;i<10;i++)
         p[i]=s[i];    
      printf("请输入10个字符串\n");
      for(i=0;i<10;i++)
         gets(p[i]);
      fun(p);
      printf("排列好的顺序为\n");
      for(i=0;i<10;i++)
      printf("%s\n",*(p+i));           //*(p+i)代表这一行的字符,也就是字符串
      return 0;
     }








    展开全文
  • 指针数组是一种灵活的存字符...//字符串排序(数组法) void SortStr1(char str[5][9]){ char temp[9]; int i,j; printf("Before sorted:\n"); for(i=0;i<5;i++){ puts(str[i]); } for(i=0;i<4;i++){ ...
  • 指针实现字符串排序 #include <stdio.h> #include <string.h> //指针数组中 strings[i] 就表示第i个元素的值,等价于*(strings+i); sort_(char *strings[],int n) { char *temp; int i,j; for(i ...
  • 字符串排序: 请编写C程序,输入5个不同的且为字符格式的学生编号,将其先由大到小排序, 再将最大的学生编号和最小的学生编号互换位置,然后输出此时5位学生的编号。 输入 输入5位学生的编号(只含数字字符、英文字母或...
  • 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]...
  • 指针数组为字符串排序,char* str[] = { "beijing","guangdong","shanghai" };进行排序,内涵冒泡排序和快速排序,原理:更改指针指向
  • 题目要求:十个不等长的字符串排序,要求用指针数组处理。 我的代码: ``` #include #include int main() { char a[10],*pointer=&a[0]; void order(char *pointer); int i; printf("请输入10个字符...
  • 利用指针对字符串排序

    千次阅读 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]; //定义一个数组
  • // 习题8.20: (指针)用指向指针的方法5个字符串排序并输出 #include<stdio.h> #include<string.h> // 将字符串进行排序并输出 void fun(char (*p)[100]) { char s[100]; for (int i = 0; i < 5;...
  • 利用指针来进行字符串排序

    千次阅读 2018-07-29 13:06:07
    printf("str字符串数组中: "); for(i = 0; i ; i++) { printf("%s\t",str[i]); } printf("\n"); printf("p指针数组中: "); for(i = 0; i ; i++) { printf("%s\t",p[i]); } printf("\n"); return 0;...
  • 指针数组比较适合用来指向若干个字符串,使字符串处理起来更加灵活 例:将若干字符串按字母顺序(从小到大)输出 思路: 定义指针数组name,用各字符串它进行...//对字符串排序,(冒泡排序法) #include <...
  • 指针数组对字符串进行排序

    千次阅读 2019-10-25 14:01:47
    //用另一函数排序。然后再主函数中输出这10个已排好序的字符串。 //用指针数组处理 #include <string.h> #include <stdio.h> void Sortchar(char **str,int len) { char * tmp; for(int i=0;i<...
  • 利用数组指针对字符串排序

    千次阅读 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 } ~ ~  
  • *(Country+1)则是输出字符串"America",如果输出**(Country+1)则是输出字符串"America"中的'A' #include <iostream> #include<string.h> using namespace std; int main() {...
  • 用指向指针的方法5个字符串排序并输出。请各位大神帮我看看这个程序的错误,非常感谢。 //习题六 3.1 #include #include void main() { char *p[5],**q,str[5],*t; int i,j; printf("请输入五个字符串:"); ...
  • #include #include int main(void) { char str[3][20],*p[3],temp[20]; int i,j;...// p[I]为指针变量.p[I]指向行地址。 gets(p[i]); } for(i=0;i for(j=i+1;j { if( strcmp(p[i],p[j])
  • 指针字符串排序

    2016-03-23 18:17:16
    /* ... * All rights reserved. * 文件名:zhizhen.c * 作者:常轩 * 微信公众号:Worldhelo * 完成日期:2016年3月6日 ... * 问题描述:字符串排序 * 程序输入:无 * 程序输出:见运行结果 */ #include #include
  • 指针数组的方法将字符串排序
  • 灼灼桃花,三千繁华,却似人间只有一个他。 #include<stdio.h> #include<string.h> ...// 输入字符串个数 for(i = 0; i < 50; i++) q[i] = a [i]; // q指针指向a数组 prin
  • 用指向指针指针对字符串进行排序。 指向指针指针,就是char ** pptr啦。pptr是一个指针,指向的地址内容存储的又是指向字符串指针。 因此,首先要为pptr分配内存,存放指针,可以申请一个连续的区域来存放...
  • printf("请依次输入五个字符串:\n"); for (i = 0; i ; i++) scanf("%s", a[i]); p = a; sort(p); printf("排序后输出为:\n"); for (i = 0; i ; i++) { printf("%s\n", a[i]); } system("pause"); ...
  • 例81:C语言实现用指向指针指针的方法5个字符串排序并输出。 解题思路:读者看着道题的时候,首先要知道什么时指针,指向指针指针应该怎么用,一般在开发中不这样用,读者要看明白,这个很锻炼思维的。 C语言...
  • 【C语言】字符串排序

    2021-11-18 16:27:22
    文章目录前言(一)需要的相关知识(二)代码实现(1)指针数组指向的字符串常量(2)使用二维数组存放字符串 前言 在理解二维数组和数组指针的结合使用、指针数组相关内容后,会更易于理解。 (一)需要的相关知识 ...
  • 字符串排序————选择排序算法

    千次阅读 2020-02-25 15:43:15
    字符串排序————选择排序算法 我们来处理一个按字母表顺序排序字符串的问题,主要用strcmp()函数来确定两个字符串的顺序,代码如下: /* * @Author: Your name * @Date: 2020-02-24 14:35:13 * @Last Modified...
  • 我们把某一元素的地址放到一个指针变量中,数组元素的指针就是数组元素的地址。对于一个内存单元来说,单元的地址即为指针,其中存放的数据才是该单元的内容。在C语言中,允许用一个变量来存放指针,这种变量称为...
  • C语言 用指针数组实现字符串排序 #include <stdio.h> #include <stdlib.h> #include <string.h> void sort(char *s[], int len) { int i,j; char *temp = (char *)malloc(sizeof(char) * 30)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 128,940
精华内容 51,576
关键字:

对字符串排序指针