#define LINEMAX 20/定义字符串的最大长度/
int main()
{int i;
charp,pstr[5],str[5][LINEMAX];
for(i=0;i<5;i++)
pstr<i>=str<i>;/将第i个字符串的首地址赋予指针数组pstr的第i个元素/
printf("input 5 strings:\n");
for(i=0;i<5;i++)
scanf("%s",pstr<i>);
p=pstr;
sort(p);
printf("strings sorted:\n");
for(i=0;i<5;i++)
printf("%s\n",pstr<i>);
}
sort(charp)/冒泡法对5个字符串排序函数/
{int i,j;
chartemp;
for(i=0;i<5;i++)
{for(j=i+1;j<5;j++)
{if(strcmp((p+i),(p+j))>0)/比较后交换字符串地址/
{temp=(p+i);
(p+i)=(p+j);
(p+j)=temp;
}
}
}
return 0;
}
扩展资料:
printf()函数的调用格式为:printf("<格式化字符串>",<参量表>)。
其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。
参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。
比如:
int a=1234;
printf("a=%d\n",a);
输出结果为a=1234。
scanf()是C语言中的一个输入函数。与printf函数一样,都被声明在头文件stdioh里,因此在使用scanf函数时要加上#include<stdioh>。
int scanf(const charrestrict format,);
函数scanf()是从标准输入流stdin(标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
如:
scanf("%d%d",&a,&b);
函数返回值为int型,如果a和b都被成功读入,那么scanf的返回值就是2。
看你代码原意,是想定义一个字符串数组strs。
但是你写的char strs[5];表示的是一个维度为5的指针数组。
你可以把strs直接改成字符串数组,char strs[5][N],但你后面的函数参数类型也要跟着改。
如果你不想改动其他函数,还继续使用指针数组,也是可以的。
你可以用动态内存来写输入部分:(头文件添加malloch)
#include <stdioh>#include <malloch>
#define N 100//每个字符串最大长度
int main()
{
int i;
char strs[5];
for(i=0;i<5;i++)
{
strs[i]=(char )malloc(sizeof(char)(N+1));
if(strs[i])
scanf("%s",strs[i]);
else
{
printf("错误内存申请失败!\n");
return 1;
}
}
return 0;
}
#include <stdioh>
#include <stringh>
void sortstr(char ,int);
void main()
{
static char proname[]={
"pascal",
"basic",
"cobol",
"prolog",
"lisp"};
int i;
sortstr(proname,5);
for(i=0;i<5;i++)
printf("%s\n",proname[i]);
}
void sortstr(char v[],int n)
{
int i = 0;
int j = 0;
char temp;
for(i = 0; i < n;i++)
{
for(j = i; j < n;j++)
{
if(0 < strcmp(v[i],v[j]))
{
temp = v[i];
v[i] = v[j];
v[j] = temp;
}
}
}
}
linux sort命令详解
1
sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
2
sort的-u选项 它的作用很简单,就是在输出行中去除重复行。
3
sort的-r选项 sort默认的排序方式是升序,如果想改成降序,就加个-r就搞定了。
使用sort命令排序方式
sql语句去重 distinct sortlinux命令 linux按字母排序文件 sort函数对字符串排序 sorted怎么降序 linux2分钟后关机 sort对string排序 DBMS指的是以下哪个选项 linux sort 按照列排序 cut命令 sort语句 sort命令 shell脚本实现文件备份 cut命令详解 java中sort方法怎么用
1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
2 sort的-u选项 它的作用很简单,就是在输出行中去除重复行。
3 sort的-r选项
#include<stdioh>
#include<stringh>
char str1[100], tmp;
int i,j,b,t;
void JsSort();
void main()
{
memset(str1,0,100);
memset(str2,0,100);
printf("please enter no");
for(i=0;(str1[i]=getchar())!='\n';i++);
str1[i]='\0';
JsSort();
printf("%s\n",str1);
system("pause");
}
void JsSort()
{
b=strlen(str1);
for(i=0;i<b-2;i+=2)
for(j=0;j<b-2-i;j+=2)
if (str1[j]<str1[j+2])
{t=str1[j]; str1[j]=str1[j+2]; str1[j+2]=t;}
}
//我写的一个简单的使用C++ sort的例子,供你参考
#include <iostream>
#include <algorithm>
typedef struct _TestSortArray
{
char _arrStr[16];
}TestSortArray;
int main()
{
TestSortArray tsa;
tsa_arrStr[15] = 0;
char a = 'z';
for (int i = 0;i < 15; ++i)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)