這是一個求助帖 百鍊——郵箱

求助帖 百鍊郵箱驗證

  • 大佬看下我的代碼錯在哪裏 一直AC不了

POJ 註冊的時候需要用戶輸入郵箱,驗證郵箱的規則包括:

1)有且僅有一個’@'符號

2)’@‘和’.'不能出現在字符串的首和尾

3)’@‘之後至少要有一個’.’,並且’@‘不能和’.'直接相連

滿足以上3條的字符串爲合法郵箱,否則不合法,

編寫程序驗證輸入是否合法

    Input
    
   輸入包含若干行,每一行爲一個代驗證的郵箱地址,長度小於100
  

    Output
    
   每一行輸入對應一行輸出

如果驗證合法,輸出 YES

如果驗證非法:輸出 NO

Sample Input

[email protected]
[email protected]
[email protected]
cs101@gmail

Sample Output

NO
YES
YES
NO

下來是我的代碼

#include <stdio.h>
#include <string.h>
#define  N  100
#define T 1
#define F 0
char  arr[N+1];
int main(){
 int len,i,cout,ture,ad,ad_;
 while(scanf("%s",arr)!=EOF){
  len=strlen(arr);
  ture=T;
  cout=0;
  ad=0;
  ad_=0;
  for(i=0;i<len;i++){
   if(arr[i]=='@'){
    if(cout==0)cout=1;
    else {
    ture=F;
    break;}
    ad=i; 
   }
  }
  if(ad==0)ture=F;
  if(arr[0]=='@'||arr[0]=='.'||arr[len-1]=='@'||arr[len-1]=='.')ture=F;
  for(i=0;i<len;i++){
   if(arr[i]=='.'){
    ad_=i;
    if(i==ad+1)ture=F;
   }
  }
  if(ad_==0)ture=F;
  if(ad_<=ad)ture=F;
  if(ture)printf("YES\n");
  else printf("NO\n");
 }
 return 0;
} 

歡迎留言 或者加Q14411197一起討論CCF-CSP競賽的一些題目

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章