以下程序用指针数组指向并按字符顺序输出三个字符串

供稿:hz-xin.com     日期:2025-01-13
C语言 用指针方法 输入3个字符串 按由小到大顺序输出

可以使用三个数组,或者是一个二维数组来存储字符串,同时定义一个指针数组,指向三个字符串的首地址。然后对指针数组进行排序。
代码如下:
#include #include int main(){ char buf[3][100]; char *p[3] = {buf[0],buf[1], buf[2]}; int i,j; for(i = 0; i 0) { char * t = p[i]; p[i] = p[j]; p[j] = t; } } for(i = 0; i < 3; i ++) printf("%s
", p[i]);//输出排序后的三个字符串。}

#include"stdio.h" #include"string.h" #include main() { char *p[5],*a; int i,j,k; printf("请输入一组字符串:
"); for(i=0;i<5;i++) {p[i]=(char*)malloc(100*sizeof(char)); gets(p[i]);} for(i=0;i<4;i++) { k=i; for(j=i+1;j<5;j++) if(strcmp(p[j],p[i])<0) k=j; if(k!=i) { a=p[i]; p[i]=p[k]; p[k]=a; } } printf("排序后的字符串是:
"); for(i=0;i<5;i++) puts(p[i]); printf("
"); }

char *ar[3]={"Data structure", "Computer design", "C Progrom"}, *temp;
for(int i=0, j; i<3-1; i++)// 起泡排序
for(j=0; j<3-i-1; j++)
if(strcmp(ar[j],ar[j+1])>0)// 比较相邻字符串
{
temp=ar[j];
ar[j] = ar[j+1];
ar[j+1] = temp;// 根据需要交换指针
}
for(i=0, j; i<3; i++)
printf("%s\n\n", ar[i]);// 输出排序结果

以下程序用指针数组指向并按字符顺序输出三个字符串
for(int i=0, j; i<3-1; i++)\/\/ 起泡排序 for(j=0; j<3-i-1; j++)if(strcmp(ar[j],ar[j+1])>0)\/\/ 比较相邻字符串 { temp=ar[j];ar[j] = ar[j+1];ar[j+1] = temp;\/\/ 根据需要交换指针 } for(i=0, j; i<3; i++)printf("%s\\n\\n", ar[i]...

急急急!!!求用指向指针的方法对N个字符串排序并输出
可能提法有点问题,首先,指针是用来存放地址的,如果是想用*name[]这种概念直接存放多个字符串,必须要让指针数组要有指向,即初值,想直接存放不可能,道理很简单,根本不知道这些指针数组指向什么地址,怎么存放呢,所以我觉得只能使用char name[][]这种概念来实现,其实知道二元数组a[3][3]中a[0]...

编写一个C语言程序以数组形式存放n个字符串,并且这些字符串以升序排序...
编写一个C语言程序,能够以数组形式存放n个字符串,并按升序排序。首先,我们需要定义一个字符指针数组pstr和一个二维字符数组str。其中,pstr用于存放字符串的地址,str用于存放具体的字符串内容。程序的主函数main如下:程序开始时,我们定义了两个数组pstr和str,以及一些整型变量i,j和n。n代表需要存放...

编写C程序:用指针数组操作,将输入的5个字符串按从小到大的顺序输出
\/\/ chapter7.cpp : Defines the entry point for the console application.\/\/ include "stdafx.h"include <string.h> include <ctype.h> void order(int * string) \/\/把数组按从小到大排列,返该数组首地址 输入0结束 { int i,j,temp;int n = 0; \/\/计算输入数组的长度(包括结束数0)in...

C语言 用指针方法 输入3个字符串 按由小到大顺序输出
可以使用三个数组,或者是一个二维数组来存储字符串,同时定义一个指针数组,指向三个字符串的首地址。然后对指针数组进行排序。代码如下:include <stdio.h>#include <string.h>int main(){ char buf[3][100]; char *p[3] = {buf[0],buf[1], buf[2]}; int i,j; for(i ...

利用指针数组将若干字符串按字母顺序(由大到小)输出?
int n, i;for (i = 0; i < 100; i++)name[i] = s[i];scanf("%d", &n);getchar();for (i = 0; i < n; i++)gets(name[i]); \/\/ 输入各字符串 sort(name, n); \/\/ 调用排序函数 print(name, n); \/\/ 调用输出函数 return 0;} 完整代码如下:运行结果如下:可见...

C语言编程:用指向指针的指针的方法对n个整数排序并输出。
用指向指针的指针的方法对n个整数排序并输出的具体编程步骤如下:1、编写头函数:#include <stdio.h>。2、编写条件函数:void sort(int **p,int n){ int i,j,temp;for(i=0;i<n-1;i++)for(j=0;j<n-1-i;j++){ if(*p[j]>*p[j+1])\/\/或者是*(*(p+j))>*(*(p+j+1)){...

用指针数组的方法按字母顺序从小到大输出
首先对数组内的元素按从小到大排序,然后输出即可!排序:for(int i=0;i<buf_length;i++)for(int j=0;j<buf_lengh-1;j++)if(buf[j]>buf[j+1])SWAP(buf[j], buf[j+1]);

利用指针处理,输入3个字符串,按从大到小顺序输出。(可使用strcmp...
\/\/利用指针处理,输入3个字符串,按从大到小顺序输出。(可使用strcmp函数p include<stdio.h> include<string.h> void sort(char *p[],int n)\/\/p是指向字符串的指针数组 { int i,j;char temp[30];for(i=0;i<n-1;i++){ for(j=0;j<n-i-1;j++){ if(strcmp(p[j],p[j+1])<0...

...将字符串按照从小到大排序后输出,使用指针数组实现。然后,由用户...
public static void main(String[] args) {boolean needReInput = true;String input = "";String first = "";String secord = "";while(needReInput){System.out.println("请输入一个小于10个字符的字符串");Scanner scanner = new Scanner(System.in);input = scanner.next();needReInput ...