1. 程式人生 > >【STL】【HDU2024】C語言合法標識符【水題】

【STL】【HDU2024】C語言合法標識符【水題】

AI info targe == () 簡潔 技術分享 type #define

鏈接:http://acm.hdu.edu.cn/showproblem.php?pid=2024

既然要求了全體同學都要刷完杭電100題,那我還是以身作則,也都給刷完吧~~~

這些水題真的是都快刷吐了 不知道刷過多少道了 就當做查缺補漏吧

不過還真的發現了一個有意思的題目,用普通的辦法判斷真的是太麻煩了,真是一個體力活

還沒註意過這幾個庫函數 用起來才發現這麽簡潔

技術分享圖片

getline();

getline()函數使用詳解

頭文件 C++<cctype> (C語言使用<ctype.h>)

isalpha

int isalpha( int ch )  

功能:判斷字符ch是否為英文字母

說明:若ch為英文字母,返回非0(小寫字母為2,大寫字母為1)。若不是字母,返回0。

isalnum

int isalnum(int c);

功能:判斷字符變量c是否為字母或數字 說明:當c為數字0-9或字母a-z及A-Z時,返回非零值,否則返回零。

代碼:

 1 // 實在懶得改了  下次再說吧
 2 #define _CRT_SBCURE_NO_DEPRECATE
 3 #include <set>
 4 #include <map>
 5 #include <cmath>
 6 #include <queue>
 7 #include <stack>
 8
#include <vector> 9 #include <string> 10 #include <cstdio> 11 #include <cstdlib> 12 #include <cstring> 13 #include <iostream> 14 #include <algorithm> 15 #include <functional> 16 #include <cctype> 17 18 using namespace std; 19 20 #define ll long long 21
#define max3(a,b,c) fmax(a,fmax(b,c)) 22 #define ios ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); 23 24 const int maxn = 110; 25 const int INF = 0x3f3f3f3f; 26 27 bool cmp(const int &a,const int &b) 28 { 29 return a>b; 30 } 31 32 33 int main() 34 { 35 int n; 36 scanf("%d",&n); 37 getchar(); 38 while(n--) 39 { 40 string s; 41 getline(cin,s); 42 // cout << s << endl; 43 int flag = 1; 44 if(isalpha(s[0]) || s[0] == _) 45 { 46 for(int i = 0;i < s.size();i++) 47 { 48 if(isalnum(s[i]) == 0 && s[i] != _) 49 { 50 flag = 0; 51 // cout << "22" << endl; 52 // continue; 53 break; 54 } 55 } 56 } 57 else 58 { 59 flag = 0; 60 } 61 if(flag) 62 printf("yes\n"); 63 else 64 printf("no\n"); 65 66 } 67 68 return 0; 69 }

【STL】【HDU2024】C語言合法標識符【水題】