c语言汉字拼音
发布时间: 2024-03-23 08:46:21
① 在c语言中我想对汉字字符串按拼音进行排序,可以直接利用strcmp函数来进行排序吗
ansi GB2312里一级汉字是按拼音排序的,其他的汉字按部首/笔划排序。所以能按拼音排序的汉字只有3000多个,直接用strcmp()比较就可以了。但是如果用的是Unicode,由于Unicode里的汉字按笔划顺序排序,所以没有办法实现按拼音排序。
代码如下:
#include<stdio.h>#include<string.h>
intmain()
{
chara[5]="王华",b[5]="张丽",c[5]="李强";
chart[5];
if(strcmp(a,b)>0)
{
strcpy(t,a);
strcpy(a,b);
strcpy(b,t);
}
if(strcmp(a,c)>0)
{
strcpy(t,a);
strcpy(a,c);
strcpy(c,t);
}
if(strcmp(b,c)>0)
{
strcpy(t,b);
strcpy(b,c);
strcpy(c,t);
}
printf("%s %s %s ",a,b,c);
return0;
}
(1)c语言汉字拼音扩展阅读
C语言 strcmp() 函数用于对两个字符串进行比较(区分大小写)。
头文件:string.h
语法/原型:int strcmp(const char* stri1,const char* str2);
参数 str1 和 str2 是参与比较的两个字符串。
strcmp() 会根据 ASCII 编码依次比较 str1 和 str2 的每一个字符,直到出现不到的字符,或者到达字符串末尾(遇见 )。
返回值:
如果返回值 < 0,则表示 str1 小于 str2。
如果返回值 > 0,则表示 str2 小于 str1。
如果返回值 = 0,则表示 str1 等于 str2。
热点内容