中文名字字典排序c语言,中文名字字典排序c语言怎么写

本文目录一览:

求高人指教,C语言中,汉字姓名怎么按字典顺序排列

字典是按照拼音排序的,没有现成的拼音排序功能。

你可以自己做键值表对应啊。就是做数据,把百家姓和其拼音组合对应的表,可以用文件存储,也 可以用数据库存储,或者干脆直接写在代码了,用结构数组或链表加载。

然后需要排序的时候,直接用结构数组或链表排序啊。

如果你除了姓,连名字都要算在排序中,那你得把整个汉字字典的文字都做成键值表,别人起名字用什么字,谁能知道。那你这就纯粹是数据问题了。

我刚才试了一下百度搜索,百度文库里有现成的汉字拼音对照表,你可以试试,全不全我就不知道了。

C语言:输入10个姓并按字典序的升序排序

#include stdio.h

#include string.h

struct xing//用来存放姓的结构体

{

char name[20];

};

void main()

{

int i,j;

char str[20];

struct xing ren[10];//结构体数组,用来建立多少个人来存放的

for (i=0;i10;i++)

{

printf (“请输入第 %d 姓: “,i+1);

scanf (“%s”,ren[i].name);

}

for (i=1;i10;i++)

for (j=0;j10-i;j++)

{

if (strcmp(ren[j].name,ren[j+1].name)=0)

{

strcpy(str,ren[j].name);

strcpy(ren[j].name,ren[j+1].name);

strcpy(ren[j+1].name,str);

}

}

printf (“按字典序的升序排序为:\n”);

for (i=0;i10;i++)

printf (“%s\n”,ren[i].name);

}

C语言中汉字如何进行排序?

C语言中,汉字是按照字符串来处理的,一个汉字占用2个字节,汉字的排序就是按照汉字的编码进行排序(不是拼音),而是半个汉字的ASCII码进行排序的。

所以在输出汉字的时候,如果按照字节输出,而不按照字符串输出的话,就会出现乱码。

具体汉字的编码,就不是那么容易的了。编码一般以0x开头,表示是用一个十六进制数表示的。

c语言按中文姓名排序问题

#include stdio.h

void sort_name(Staff *p) {

int i,j,max;

Staff b;

for(i = 0;i T – 1;i++) { // 应该是T – 1,不是T

max = i;

for(j = i + 1;j T;j++) {

if(strcmp((p + max)-name,(p + j)-name) 0)

max = j;

}

if(max != i) {

b = *(p + max);

*(p + max) = *(p + i);

*(p + i) = b;

}

} // 这儿添加了”}”

for(i = 0;i T;i++) {

printf(“%s “,(p + i)-id);

printf(“%s “,(p + i)-name);

printf(“%s “,(p + i)-sex);

printf(“%d %d %d “,(p + i)-data.year,(p + i)-data.month,(p + i)-data.day);

printf(“%.2lf “,(p + i)-post_wage);

printf(“%.2lf “,(p + i)-subsidies);

printf(“%.2lf “,(p + i)-withholding);

putchar(‘\n’);

}

}

C语言编程题:输入6个人的名字,将它们按字典排序后输出

#includestdio.h

#includestring.h

int main(){

    char name[6][20];

    char temp[20];

    printf(“请输入6个人的名字:\n”);

    int i;

    for (i = 0; i 6; i++){

        gets(name[i]);

    }

    printf(“\n\n这六个人的名字如下:\n”);

    for (i = 0; i 6; i++){

        printf(“%s “, name[i]);

    }

    printf(“\n\n”);

    printf(“按字典排序后如下所示:\n”);

    int j, k;

    for (j = 0; j 6; j++)

        for (k = j + 1; k 6; k++)

        {

            if (strcmp(name[j], name[k])0)

            {

                strcpy(temp, name[j]);

                strcpy(name[j], name[k]);

                strcpy(name[k], temp);

            }

        }

for (i = 0; i 6; i++)

printf(“%s “, name[i]);

}

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/253938.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-14 02:19
下一篇 2024-12-14 02:19

相关推荐

  • Python字典去重复工具

    使用Python语言编写字典去重复工具,可帮助用户快速去重复。 一、字典去重复工具的需求 在使用Python编写程序时,我们经常需要处理数据文件,其中包含了大量的重复数据。为了方便…

    编程 2025-04-29
  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • Python读取中文

    Python是一种高级编程语言,被广泛地应用于各种领域中。而处理中文数据也是其中重要的一部分。本文将介绍在Python中如何读取中文,为大家提供指导和帮助。 一、读取中文文件 在P…

    编程 2025-04-29
  • Python被称为胶水语言

    Python作为一种跨平台的解释性高级语言,最大的特点是被称为”胶水语言”。 一、简单易学 Python的语法简单易学,更加人性化,这使得它成为了初学者的入…

    编程 2025-04-29
  • Python中取出字典中对应键的值

    如何使用Python在字典中获取特定键的值?这是Python编程中必须掌握的技能之一。本文将通过多个方面来详细讲解Python如何取出字典中对应键的值。 一、通过键名获取值 当我们…

    编程 2025-04-29
  • Python如何遍历字典中的key和value

    本文将详细讲解Python中如何遍历字典中的key和value,包括多种遍历方式以及在遍历过程中的一些应用场景。 一、遍历字典中的key和value 在Python中,字典是一种无…

    编程 2025-04-29
  • jQuery Datatable分页中文

    jQuery Datatable是一个非常流行的数据表插件,它可以帮助您快速地在页面上创建搜索、过滤、排序和分页的数据表格。不过,它的默认设置是英文的,今天我们就来探讨如何将jQu…

    编程 2025-04-29
  • OpenJudge答案1.6的C语言实现

    本文将从多个方面详细阐述OpenJudge答案1.6在C语言中的实现方法,帮助初学者更好地学习和理解。 一、需求概述 OpenJudge答案1.6的要求是,输入两个整数a和b,输出…

    编程 2025-04-29
  • Python计算中文字符个数

    本文将从多个方面对Python计算中文字符个数进行详细的阐述,包括字符串长度计算、正则表达式统计和模块使用方法等内容。 一、字符串长度计算 在Python中,计算字符串长度是非常容…

    编程 2025-04-29

发表回复

登录后才能评论