Đề : Giả sử họ và tên đầy đủ gồm 2-5 từ, mỗi từ là dãy liên tiếp các chữ cái tiếng Anh, trong đó chữ đầu tiên viết hoa, còn lại chữ thường. Viết chương trình kiểm tra chuỗi nhập vào có phải là họ và tên?
Bài em đã làm :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 90% chương trình dựa trên bài đếm từ.
int main()
{
label:
{
char s[1000];
printf("\n Nhap Ho va Ten:");
gets(s);
int dem=0;
int flat=0; //khai biến cờ để xác định tên hợp lệ
int i;
if(s[0]!=' ')
{
dem++;
}
for(i=0;i<strlen(s);i++)
{
if(s[i]==' '&&s[i+1]!= ' '&&s[i+1]!='\0')
{
dem++;
}
}
if(dem<2||dem>5) // điều kiện đầu, Họ và Tên có 2-5 từ
{
printf("Ho va Ten khong hop le !!!");
printf("\nHo va Ten co 2 den 5 tu.");
goto label; // bắt lặp cho đến khi nhập đúng
}
else
{
for(i=0;i<strlen(s);i++)
{
if((s[i]>64&&s[i]<91)&&(s[i+1]!=s[i]))
{
flat=1;
}
}
}
if(flat==1)
{
printf("Ten hop le!");
printf("\nTen ban la: %s",s);
}
}
printf("\nCreated by HoangVanThanh,CT19A,KMA");
Đề bắt buộc p đánh: Hoàng Văn Thành ===> thì chương trình báo nhận
Nhưng khi đánh: HOanG VaN ThAnH vẫn nhận.
Mọi người đi qua cho em chút ý tưởng với ạ