12-đếm số lượng từ chứa ít nhất 2 nguyên âm
13- tìm kí tự xuất hiện nhiều nhất
14-tìm từ dài nhất
15-đảo ngược thứ tự các từ trong chuỗi
ai biết bài nào chỉ minh nha , với lại mình làm bài 12 như thế này sai chỗ nào vậy mọi người
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "math.h"
#include "string.h"
using namespace std;
int _tmain(int argc, _TCHAR* argv[]) {
char s[20];
do {
cout << " nhap chuoi ki tu : ";
cin.getline(s, 50);
cout << " chuoi vua nhap ";
cout << "" << s << "" << endl;
// 12-dem so luong tu chua it nhat 2 nguyen am
int tongso = 0;
int khongthoa = 0;
int thoa;
int len = strlen(s);
if (s[0] != NULL && s[0] != 32)
tongso++;
for (int i = 1; i < len; i++) {
if (s[i] != 32 && s[i - 1] == 32)
tongso++;
}
int j = 0;
while (j < len && (toupper(s[j]) != 'U' || toupper(s[j]) != 'E' || toupper(s[j]) != 'O' || toupper(s[j]) != 'A' || toupper(s[j]) != 'I' || toupper(s[j]) != 'Y'))
j++;
if (j >= len)cout << " mang khong chua chu nguyen am " << endl;
else { // tìm từ chứa ít hơn 2 nguyên âm
for (; j < len; j++) {
if (toupper(s[j]) == 'U' || toupper(s[j]) == 'E' || toupper(s[j]) == 'O' || toupper(s[j]) == 'A' || toupper(s[j]) == 'I' || toupper(s[j]) == 'Y') { // kiem tra j co phai la chu nguyen am
int kt = 0; // nếu j là nguyên âm
for (int z = j +1; z<len ; z++) {
if (toupper(s[z]) == 'U' || toupper(s[z]) == 'E' || toupper(s[z]) == 'O' || toupper(s[z]) == 'A' || toupper(s[z]) == 'I' || toupper(s[z]) == 'Y') {
// kiểm tra xem z có là nguyên âm
for (int k = z - 1; k>j; k--) {
if (s[k] == 32) { // nếu ở giữa có khoảng trắng , không thoã
kt = 1;
break;
}
}
}
}
if (kt == 1)
khongthoa = khongthoa + 1;
}
}
}
thoa = tongso - khongthoa;
cout << " so tu chua it nhat 2 nguyen am = " << thoa << endl;
cout << " nhan ESC de thoat chuong trinh !!!" << endl;
} while (_getch() != 27);
return 0;
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?