Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C เรียงลำดับชื่อตามอักษรไทย (Alphabetical Order)

ผู้ใช้ป้อนจำนวนชื่อ และชื่อต่างๆ ต้องการเรียงตามลำดับอักษรด้วย strcpy()

อาร์เรย์ของตัวอักษร (หรือชุดตัวอักษร) เรียกว่า String

การประกาศ

char stringname [size];

เช่น char string[50]; สตริงยาว 50 ตัวอักษร

การกำหนดค่าเริ่มต้น

  • ใช้ค่าคงที่ตัวอักษรเดี่ยว
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
  • ใช้ค่าคงที่สตริง
char string[10] = "Hello":;

การเข้าถึง

ใช้ control string "%s" เข้าถึงสตริงจนกว่าจะเจอ '\0'

strcpy()

คัดลอกสตริงต้นทางไปสตริงปลายทาง ความยาวปลายทางต้องมากกว่าหรือเท่าต้นทาง

strcpy (Destination string, Source String);

เช่น strcpy(a, "Hello") → 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