根据输入的 n 动态分配一个长度为 n 的 string 数组 p; 使用循环依次读入 n 个字符串,并将其存储到 p 数组中; 对p 数组中的所有字符串按照字典序进行升序排列,使用 sort() 函数实现; 循环遍历 p 数组,输出排序后的每一个字符串,并在末尾添加一个换行符;method...
设允许输入10个字符串,长度限制为50个字符以内,用char型二维数组记载。另声明一个10个元素的char *型指针数组,使每个元素对应指向前述每个字符串,排序时只交换指针而不拷贝字符串。代码如下:include "stdio.h"#include "string.h"int main(int argc,char *argv[]){char s[10][51],*ps[10]...
ch[i][strlen(ch[i]) - 1] = '\0';
include<string.h> void main(){ char a[30]; /*用于存放字符串*/ char *p=a; /*将指针p指向a*/ int i,j,length=0;char temp; /*定义一个中间变量temp,用于交换字符的位置*/ /*输入要排序的字符串*/ gets(p);length=strlen(p); /*计算字符串的长度*/ /*将字符串中...
1 定义二维数组存储字符串。2 通过strcmp比较大小,strcpy进行赋值,实现排序。3 输出结果。代码:int main(){ char s[3][100], t[100]; int i,j; for(i =0; i < 3; i ++) scanf("%s",s[i]); for(i =0; i < 2; i ++) for(j = i+1; j <3; j +...
void order(int * string) //把数组按从小到大排列,返该数组首地址 输入0结束 { int i,j,temp;int n = 0; //计算输入数组的长度(包括结束数0)int * p = string;while(0 != *p++){ n++;} //起泡法排序 p = string;for(i = 0;i < n; i++){ for(j = 0;j < n-i;...
char string1 [LEN]; memset (string1,0,LEN); strcpy (string1,"This is a example!!"); 方法B: const char string2[LEN] ="This is a example!"; char * cp; cp = string2 ; 使用的时候可以直接用指针来操作。 从上面的例子可以看出,A和B的效率是不能比的。在同样的存储空间下,B直接使用指...
define LINEMAX 20/*定义字符串的最大长度*/ int main(){int i;char**p,*pstr[5],str[5][LINEMAX];for(i=0;i<5;i++)pstr=str;/*将第i个字符串的首地址赋予指针数组pstr的第i个元素*/ printf("input 5 strings:\n");for(i=0;i<5;i++)scanf("%s",pstr);p=pstr;sort(p)...
include <stdio.h>#include <string.h>#define N 5 //定义符号常量#define MAX_LEN 100 //字符串最大长度 void selectSort(char (*pt)[MAX_LEN],int n) //形参pt为指向二维字符数组的指针{ int i,j,k; char tmp[MAX_LEN]; //临时字符数组 for(i=0;i<n-1;i++)...
//practise.cpp : 定义控制台应用程序的入口点。//#include"stdafx.h"#include<string.h>#include<string>#include<algorithm>#include<iostream>usingnamespacestd;intmain() {/*字符串转字符数组,使用strncpy_s(),比strncpy()安全*/stringstr ="abc xyz";charstrArray[11] = {0}; ...