Yêu cầu
XÂY DỰNG CHƯƠNG TRÌNH SẮP XẾP CHUỖI THEO CHỮ CÁI
- Input: Nhập 5 chuỗi bất kỳ
- Output: Thứ tự các chuỗi đã được sắp xếp
Hướng dẫn giải
Code
/*
BÀI 3: XÂY DỰNG CHƯƠNG TRÌNH SẮP XẾP CHUỖI THEO CHỮ CÁI
Input: Nhập 5 chuỗi bất kỳ
Output: Thứ tự các chuỗi đã được sắp xếp
*/
#include<stdio.h>
#include<conio.h>
#include<string.h>
#define MAX_LENGTH 50
// Ham hoan vi 2 chuoi
void hoanVi(char chuoi1[], char chuoi2[]) {
char temp[MAX_LENGTH];
strcpy(temp, chuoi1);
strcpy(chuoi1, chuoi2);
strcpy(chuoi2, temp);
}
int main() {
// 1. Khoi tao mang 2 chieu 5 dòng x MAX_LENGTH phan tu
char cau[5][MAX_LENGTH];
// 2. INPUT nhập liệu
for(int i=0; i<5; i++) {
printf("Moi ban cau thu %d: ", i);
gets(cau[i]);
}
// 3. OUTPUT xuất ra màn hình
printf("=== CHUONG TRINH SAP XEP CHUOI THEO CHU CAI ===\n");
printf("Cac cau vua nhap:\n");
for(int i=0; i<5; i++) {
printf("- ");
puts(cau[i]);
}
// 4. Giai thuat sap xep
for(int i=0; i<5; i++) {
for(int j=i+1; j<5; j++) {
if(strcmp(cau[i], cau[j]) > 0) {
hoanVi(cau[i], cau[j]);
}
}
}
// 5. In ra man hinh ket qua
printf("Cac cau sau khi sap xep thu tu:\n");
for(int i=0; i<5; i++) {
printf("- ");
puts(cau[i]);
}
getch(); // Lenh dung man hinh
return 0;
}
|