Cho một chuỗi. Tìm ký tự có giá trị ASCII lớn nhất và nhỏ nhất.
Mô tả
Chuỗi chứa chữ hoa và chữ thường. Tìm ký tự max/min theo mã ASCII.
Ví dụ
Đầu vào: "TutorialsPoint"
Đầu ra: Largest = u, smallest = P
Giải thích: Chữ hoa (A-Z: 65-90) nhỏ hơn chữ thường (a-z: 97-122). Do đó chữ hoa nhỏ nhất (A) có ASCII nhỏ nhất, chữ thường lớn nhất (z) có ASCII lớn nhất.
Phương pháp giải
Duyệt chuỗi, so sánh ký tự trực tiếp (C++ so sánh char dựa trên ASCII):
- Khởi tạo maxChar = minChar = str[0]
- Duyệt i từ 0 đến n-1: cập nhật maxChar/minChar
Chương trình minh họa
#include <iostream>
using namespace std;
void findMaxMinAlphabet(char str[], int n) {
char maxChar = str[0];
char minChar = str[0];
for(int i = 0; i < n - 1; i++) {
if (str[i] > maxChar) maxChar = str[i];
if (minChar > str[i]) minChar = str[i];
}
cout << "Maximum Alphabet: " << maxChar << "\nMinimum Alphabet: " << minChar;
}
int main() {
char a[] = "TutorialsPoint";
int size = sizeof(a) / sizeof(a[0]);
findMaxMinAlphabet(a, size);
return 0;
}
Đầu ra: Maximum Alphabet: u, Minimum Alphabet: P