Program: Bubble Sort
Problem Statement:
Input number of strings: 3 Input string 1: zero Input string 2: one Input string 3: twoThe strings appear after sorting: one two zero
Input number of strings: 3
Input string 1: zero
Input string 2: one
Input string 3: twoThe strings appear after sorting:
one
two
zeroFunction swapStrings(str1, str2):
temp = str1
str1 = str2
str2 = temp
Function bubbleSortStrings(strings[], n):
for i from 0 to n-1:
for j from 0 to n-i-1:
if strcmp(strings[j], strings[j+1]) > 0:
swapStrings(strings[j], strings[j+1])
Function main():
Input n
Create an array strings[MAX_STRINGS][MAX_STRING_LENGTH]
for i from 0 to n-1:
Input strings[i]
bubbleSortStrings(strings, n)
Display "The strings appear after sorting:"
for i from 0 to n-1:
Display strings[i]#include <stdio.h>
#include <string.h>
#define MAX_STRINGS 100
#define MAX_STRING_LENGTH 50
void swapStrings(char *str1, char *str2) {
char temp[MAX_STRING_LENGTH];
strcpy(temp, str1);
strcpy(str1, str2);
strcpy(str2, temp);
}
void bubbleSortStrings(char strings[][MAX_STRING_LENGTH], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (strcmp(strings[j], strings[j + 1]) > 0) {
swapStrings(strings[j], strings[j + 1]);
}
}
}
}
int main() {
int n;
printf("Input number of strings: ");
scanf("%d", &n);
if (n <= 0 || n > MAX_STRINGS) {
printf("Invalid number of strings. Please provide a valid number.\n");
return 1; // Return with an error code
}
char strings[MAX_STRINGS][MAX_STRING_LENGTH];
for (int i = 0; i < n; i++) {
printf("Input string %d: ", i + 1);
scanf("%s", strings[i]);
}
bubbleSortStrings(strings, n);
printf("\nThe strings appear after sorting:\n");
for (int i = 0; i < n; i++) {
printf("%s\n", strings[i]);
}
return 0;
}