C语言:字符串排序(利用指针数组知识) 利用字符数组相关知识,将10个不等长的字符串,按从小到大的顺序排序、并输出。 程序如下: #include <stdio.h> #include <string.h> int main() { void sort_name(char *p[],int n); void print_name(char *p1[],int n); char *name[10]={"Zhao","Qian","S...
define LINELEN 1024 int cmp(const void *p1, const void *p2) { return *((char *)p1) - *((char *)p2);} 在这个程序中,我们首先定义了一个宏LINELEN,用于设置输入字符串的最大长度。接着定义了一个比较函数cmp,用于比较两个字符的大小,这是qsort函数所必需的。接下来是主函数main:...
include <stdio.h> include <string.h> int main(){ int i,j,m;char s[10][15],t[15];scanf("%d",&m);for(i=0; i<m; i++)scanf("%s",s[i]);for(i=0; i<m-1; i++)for(j=0; j<m-1-i; j++)if(strlen(s[j])>strlen(s[j+1])){ strcpy(t,s[j]);strcpy...
【c语言】字符串排序 1 #include <stdio.h> 2 #include <string.h> 3 #define SIZE 81 4 #define LIM 3 5 #define HALT "" 6 void stsrt(char *string[],int num); 7 char *s_gets(char *st,int n); 8 9 10 int main() 11 { 12 char input[LIM][SIZE]; 13 char *ptstr[LIM]; ...
int main( ){char s[100],*p,*p1,*p2,c;gets(s); //读取字符串 for(p=s;*p;p++); //求得串长,p指向'\0'p--; //冒泡排序外循环终点 for(p1=s;p1<p;p1++,p--) //此二重循环为冒泡排序 for(p2=s;p2*(p2+1)){c=*p2;*p2=*(p2+1);*(p2+1)=c;} p...
字符串排序 C语言编程 简介 #include<stdio.h>#include<string.h>#define SIZE 91#define LIM 31#define HALT""void stsrt(char*strings[],int num);int main(void){char input[LIM][SIZE];char*ptstr[L 正文 1 #include<stdio.h>#include<string.h>#define SIZE 91#define LIM 31#define HALT""void...
运用指针知识,从键盘输入3个字符串,按照从小到大的顺序输出。 程序如下: #include <stdio.h> #include <string.h> int main() { void sort(char *p1[],int n); int i; char *p[3]; char str1[30],str2[30],str3[30]; p[0]=str1; ...
/*比较笨重的冒泡排序法,用到string中的串比较strcmp和串拷贝strcpy。amount是字符串的数量,length是字符串的长度,不管你是否习惯这么写,这样表示都是有好处的。我的编译器是visual studio 2008 C++。*/ include <stdio.h> include <string.h> int main(){ const int amount=5;const int length...
C的字符串是用字符数组操作的,所以排序应该用指针数组完成,以避免字符串拷贝。由于只有3个字符串,用直接操作的办法而不用循环以避免不必要的开销;输入函数选用fgets,既可以方便地控制输入长度不越界,又能允许字符串中存在空格。代码如下:include "stdio.h"#include "string.h"int main(int argc,...
define N 10 int main(){char str[N][100]; int i,j; for(i = 0; i < N; i ++) scanf("%s",str[i]); for(i = 0; i < N-1; i ++) { for(j = i+1; j < N; j ++){ if(strcmp(str[i],str[j])>0) { char temp[100]; strcpy(temp,str[i]); strcpy(...