C语言 字符串数组字典排序

C语言 字符串数组字典排序,第1张

用二维数组记录书名,再声明一个指针数组并使各元素分别指向各书名,然后对指针数组元素按其指向的书名的字典顺序排序。这样比直接拷贝书名的效率会高些。举例如下:

//#include "stdafx.h"//If the vc++6.0, with this line.

#include "stdio.h"

#include "string.h"

#define N 10

void mysort(char *s[],int n){

    int i,j,k

    for(i=0i<ni++){

        for(k=i,j=k+1j<nj++)

            if(strcmp(s[k],s[j])>0)

                k=j

        if(i!=k){

            s[i]=(char *)((unsigned)s[i]^(unsigned)s[k])//交换指针

            s[k]=(char *)((unsigned)s[k]^(unsigned)s[i])

            s[i]=(char *)((unsigned)s[i]^(unsigned)s[k])

        }

    }

}

int main(void){

    char book[N][30],*pbook[N]

    int i,k

    for(i=0i<Npbook[i]=book[i++])

    printf("Please enter 10 book-name...\n")

    for(i=0i<Npbook[i]=book[i++])

        scanf("%s",book+i)

    mysort(pbook,N)

    for(k=i=0i<Nprintf(++k%5 ? "%s " : "%s\n",pbook[i++]))//打出来看看......

    if(k%5) printf("\n")

    return 0

}

#include<stdio.h>

#include<string.h>

#defineN5

voidswap(char*p1,char*p2){

chartemp[100];

strcpy(temp,p1);

strcpy(p1,p2);

strcpy(p2,temp);

intmain(){

inti,j;

charstr1[N][100],*str[N];

for(i=0;i<N;i++){

scanf("%s",*(str1+i));

for(i=0;i<N;i++){

str[i]=*(str1+i);

for(i=0;i<N;i++){

for(j=i+1;j<N;j++){

if(strcmp(str[i],str[j])>0){swap(str[i],str[j]);}

for(i=0;i<N;i++){

printf("%s",str[i]);

printf("\n");

return0;

扩展资料:

printf用法:

printf()函数的调用格式为:printf("&lt;格式化字符串&gt;",&lt;参量表&gt;)。

其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。

参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。

比如:

inta=1234;

printf("a=%d\n",a);

输出结果为a=1234。

printf的格式控制的完整格式:

%-0m.nl或h格式字符

下面对组成格式说明的各项加以说明:

①%:表示格式说明的起始符号,不可缺少。

②-:有-表示左对齐输出,如省略表示右对齐输出。

③0:有0表示指定空位填0,如省略表示指定空位不填。

④m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型数的小数位数。为指定n时,隐含的精度为n=6位。

⑤l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11730981.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存