C program to sort names in alphabetical order
In this post, you will learn how to sort names in alphabetical order in the C programming language.
Alphabetical order is used for organising information. It helps you find data quickly. This activity looks at using alphabetical order to find and arrange data.
C program to sort names in alphabetical order using function
In the given C program, we take the number of names in user input and then ask them to enter names and store them in an array using a for loop. Then, we use the predefined functions strcmp() and strcpy() to sort the names in alphabetical order. The strcmp() function is used to compare the strings. That is to check whether the first character of the first word is less than the first character of the second word or not. If it is, then using the strcpy() function, reverse the word with each and other and continue to check for the next word inside the same string and so on.
#include<stdio.h>
#include<string.h>
main(){
int i,j,num;
char str[100][100],x[100];
printf("Enter number of names :\n");
scanf("%d",&num);
printf("Enter names in any order:\n");
for(i=0;i<num;i++){
scanf("%s",str[i]);
}
for(i=0;i<num;i++){
for(j=i+1;j<num;j++){
if(strcmp(str[i],str[j])>0){
strcpy(x,str[i]);
strcpy(str[i],str[j]);
strcpy(str[j],x);
}
}
}
printf("\nThe sorted order of names :\n");
for(i=0;i<num;i++){
printf("%s\n",str[i]);
}
}
Output of the above code:
Enter number of names :
5
Enter names in any order:
Smith
Jorz
Anny
Suzzan
Andy
The sorted order of names :
Andy
Anny
Jorz
Smith
Suzzan
C program to sort names in alphabetical order using pointers
In the given C program, we have used pointers to arrange names in alphabetical order. First, we take the number of names in user input and then ask them to enter names and store them in an array using a for loop. Next, using a for loop, we check the first character of all the words to compare and arrange them in alphabetical order.
#include<stdio.h>
#include<string.h>
int main(){
int x,y,num;
char str[100][100],temp[100];
printf("Enter number of names: ");
scanf("%d",&num);
printf("Enter names in any order:\n");
for(x=0;x<num;x++){
scanf("%s",str[x]);
}
for(x=0;x<num;x++){
for(y=x+1;y<num;y++){
if(strcmp(str[x],str[y])>0){
strcpy(temp,str[x]);
strcpy(str[x],str[y]);
strcpy(str[y],temp);
}
}
}
printf("\nThe sorted order of names: \n");
for(x=0;x<num;x++){
printf("%s\n",str[x]);
}
}
Output of the above code:
Enter number of names: 5
Enter names in any order:
Andy
John
Smith
Andrew
Bunny
The sorted order of names:
Andrew
Andy
Bunny
John
Smith
Related Articles
Prime factors of a number in cArmstrong number program in c
Write a program to check leap year in c
C program to find area of rectangle
C program to convert celsius to fahrenheit
Fibonacci series program in C using recursion
Write a program to find area of circle in C
C program to find greatest of three numbers
C program for addition of two numbers
C program to calculate compound interest
C program to find the ASCII value of a character
C program to convert Decimal to Octal
C program to convert decimal to binary
Write a C program to calculate Simple Interest
C program to check whether a number is even or odd
C program to reverse a number
C program to check palindrome number
C program to check whether an alphabet is a vowel or consonant
Program to find square root of a number in C
C program to check whether a number is positive or negative