Computer >> Máy Tính >  >> Lập trình >> lập trình C

Chương trình C để sắp xếp tên theo thứ tự bảng chữ cái

Người dùng phải nhập số lượng tên và những tên đó bắt buộc phải được sắp xếp theo thứ tự bảng chữ cái với sự trợ giúp của hàm strcpy ().

Một mảng ký tự (hoặc) tập hợp các ký tự được gọi là một chuỗi.

Tuyên bố

Sau đây là khai báo cho một mảng -

char stringname [size];

Ví dụ, chuỗi ký tự char [50]; chuỗi dài 50 ký tự.

Khởi tạo

  • Sử dụng hằng số ký tự duy nhất
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
  • Sử dụng hằng số chuỗi
char string[10] = "Hello":;

Đang truy cập

Có một chuỗi điều khiển "% s" được sử dụng để truy cập vào chuỗi cho đến khi nó gặp ‘\ 0’

strcpy ()

Hàm này được sử dụng để sao chép chuỗi nguồn thành chuỗi đích.

Độ dài của chuỗi đích lớn hơn hoặc bằng chuỗi nguồn.

Cú pháp cho hàm strcpy () như sau -

strcpy (Destination string, Source String);

Ví dụ:

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

Logic được sử dụng để sắp xếp các tên theo thứ tự bảng chữ cái như sau -

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);
      }
   }
}

Chương trình

Sau đây là chương trình C để sắp xếp tên theo thứ tự bảng chữ cái -

#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]);
   }
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

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