Input 输入包含若干行,每一行为一个代验证的邮箱地址,长度小于100 Output 每一行输入对应一行输出 如果验证合法,输出 YES 如果验证非法:输出 NO Sample Input .a@b.com pku@edu.cn cs101@gmail.com cs101@gmail Sample Output NO YES YES NO
#include<stdio.h> #include<string.h> int main(void){ char a[10000]; int i; int j; int flag_1; int flag_2; int n; int sum; while(scanf("%s",a) != EOF){ flag_1 = 0; flag_2 = 0; sum = 0; n = strlen(a); if(a[0] == '@' || a[0] == '.' || a[n-1] == '@' || a[n-1] == '.'){ flag_1 = 1; } for(i = 0;i < n;i++){ if(a[i] == '@'){ sum++; } } if(sum == 1 && flag_1 != 1){ for(i = 1;i < n;i++){ if(a[i-1] != '.' && a[i] == '@' && a[i+1] != '.'){ for(j = i + 2;j < n;j++){ if(a[j] == '.'){ flag_2 = 1; puts("YES"); break; } } break; } } } if(flag_2 != 1) puts("NO"); } return 0; }
