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 bằng cách sử dụng các cấu trúc

Cấu trúc là tập hợp các biến kiểu dữ liệu khác nhau, được nhóm lại với nhau dưới một tên duy nhất.

Đặc điểm của cấu trúc

Các đặc điểm của cấu trúc trong ngôn ngữ lập trình C như sau -

  • Có thể sao chép nội dung của tất cả các phần tử cấu trúc của các kiểu dữ liệu khác nhau sang một biến cấu trúc khác cùng loại bằng cách sử dụng toán tử gán.

  • Để xử lý các kiểu dữ liệu phức tạp, tốt hơn nên tạo cấu trúc trong một cấu trúc khác, được gọi là cấu trúc lồng nhau.

  • Có thể chuyển toàn bộ cấu trúc, các phần tử riêng lẻ của cấu trúc và địa chỉ của cấu trúc cho một hàm.

  • Có thể tạo con trỏ cấu trúc.

Khai báo và khởi tạo cấu trúc.

Hình thức khai báo cấu trúc chung như sau -

datatype member1;
   struct tagname{
      datatype member2;
      datatype member n;
};

Đây,

  • struct là từ khóa.
  • tên thẻ chỉ định tên của cấu trúc.
  • thành viên1, thành viên2 là các mục dữ liệu.

Ví dụ:

struct book{
   int pages;
   char author [30];
   float price;
};

Chương trình

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

#include<stdio.h>
#include<string.h>
struct tag{
   char name[10];
   int rno;
};
typedef struct tag node;
node s[5];
sort(int no){
   int i,j;
   node temp;
   for(i=0;i<no-1;i++)
   for(j=i+1;j<no;j++)
   if(strcmp(s[i].name,s[j].name)>0){
      temp=s[i];
      s[i]=s[j];
      s[j]=temp;
   }
}
void main(){
   int no,i;
   fflush(stdin);
   printf("Enter The Number Of Students:");
   scanf("%d",&no);
   for(i=0;i<no;i++){
      printf("Enter The Name:");
      fflush(stdin);
      gets(s[i].name);
      printf("Enter the Roll:");
      scanf("%d",&s[i].rno);
   }
   sort(no);
   for(i=0;i<no;i++){
      printf("%s\t",s[i].name);
      printf("%d\n",s[i].rno);
   }
}

Đầu ra

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

Enter The Number of Students:5
Enter The Name:Priya
Enter the Roll:3
Enter The Name:Hari
Enter the Roll:5
Enter The Name:Pinky
Enter the Roll:7
Enter The Name:Lucky
Enter the Roll:1
Enter The Name:Krishna
Enter the Roll:2
Hari 5
Krishna 2
Lucky 1
Pinky 7
Priya 3