当前位置: 首页 > 编程笔记 >

C程序按字母顺序对名称进行排序

谢和同
2023-03-14
本文向大家介绍C程序按字母顺序对名称进行排序,包括了C程序按字母顺序对名称进行排序的使用技巧和注意事项,需要的朋友参考一下

用户必须输入名称的数量,并且需要借助strcpy()函数按字母顺序对这些名称进行排序。

字符(或)字符集合的数组称为字符串。

声明

以下是数组的声明-

char stringname [size];

例如,char string [50]; 长度为50个字符的字符串。

初始化

  • 使用单字符常量

char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
  • 使用字符串常量

char string[10] = "Hello":;

访问

有一个控制字符串“%s”用于访问字符串,直到遇到“ \ 0”为止

strcpy()

此函数用于将源字符串复制到目标字符串。

目标字符串的长度大于或等于源字符串。

strcpy()函数的语法如下-

strcpy (Destination string, Source String);

例如,

char a[50];             char a[50];
strcpy ("Hello",a);      strcpy ( a,"hello");
output: error           output: a= "Hello"

用于按字母顺序对名称进行排序的逻辑如下-

for(i=0;i<n;i++){
   for(j=i+1;j<n;j++){
      if(strcmp(str[i],str[j])>0){
         strcpy(s,str[i]);
         strcpy(str[i],str[j]);
         strcpy(str[j],s);
      }
   }
}

程序

以下是C程序以字母顺序对名称进行排序-

#include<stdio.h>
#include<string.h>
main(){
   int i,j,n;
   char str[100][100],s[100];
   printf("Enter number of names :\n");
   scanf("%d",&n);
   printf("Enter names in any order:\n");
   for(i=0;i<n;i++){
      scanf("%s",str[i]);
   }
   for(i=0;i<n;i++){
      for(j=i+1;j<n;j++){
         if(strcmp(str[i],str[j])>0){
            strcpy(s,str[i]);
            strcpy(str[i],str[j]);
            strcpy(str[j],s);
         }
      }
   }
   printf("\nThe sorted order of names are:\n");
   for(i=0;i<n;i++){
      printf("%s\n",str[i]);
   }
}

输出结果

执行以上程序后,将产生以下结果-

Enter number of names:
5
Enter names in any order:
Pinky
Lucky
Ram
Appu
Bob
The sorted order of names is:
Appu
Bob
Lucky
Pinky
Ram
 类似资料:
  • 问题内容: 我得到了一个数组(请参阅下面的数组中的一个对象),我需要使用JavaScript按名字排序。我该怎么做? 问题答案: 假设您有一个数组。您可以使用并传递一个接受两个参数并进行比较的函数(比较器) 它应该返回 如果第一个参数小于第二个参数,则为负数(应在结果数组的第二个参数之前放置) 如果第一个参数较大,则为正数(应放在第二个参数之后) 如果这两个元素相等,则为0。 在我们的情况下,如果

  • 问题内容: 我必须创建一种方法,该方法根据电子邮件按字母顺序对对象的 ArrayList 进行排序,然后打印排序后的数组。我在排序时遇到的麻烦。我已经对其进行了研究并尝试使用,但这对我不起作用。我当时是需要一个称为比较器的东西,但无法弄清楚它是如何工作的。我将不得不使用这些东西吗?还是像气泡排序或插入排序这样的东西可以用于这种事情? 这是我到目前为止的代码: 问题答案: 排序部分可以通过实现cus

  • 问题内容: 我有这个: 和[电影]数组。如何按名称的字母顺序对数组进行排序?我试过了: 和 但这不起作用,因为我没有访问电影的名称属性。 问题答案: 在传递给的闭包中,比较要排序的属性。像这样: 或以下要绕过案例的案例: 旁注: 通常,只有类型以大写字母开头;我建议使用and ,而不是and 。 例如,在操场上: 将按顺序 Swift5更新

  • 问题内容: 我想按字母顺序对JAVA中的字符串进行排序,如下所示:AaBbCcDdEeFfGg之后是大写字母和小写字母。例如,如果我把AbaC退还给我AabC,谢谢! 问题答案: 如果先将字符放入数组中,则可以使用进行此操作。(为了使用不区分大小写的自定义比较器,它必须是对象数组,而不是基元。)

  • 问题内容: 我有一个包含国家/地区名称的对象。如何按字母顺序对列表进行排序? 问题答案: 假设这些是字符串,请使用方便的静态方法sort……

  • 我有一个基于类的React组件,它使用状态项和渲染结果。以下是我如何做到这一点的简短片段: 数据作为数组中的对象接收,如下所示: 我的问题是,在呈现这些项目之前,是否可以按字母顺序对其进行排序?最好的方法是什么?