怎樣到國(guó)外做合法博彩法網(wǎng)站河南鄭州最新消息
題目一:密碼強(qiáng)度等級(jí)
題目鏈接:密碼強(qiáng)度等級(jí)_??皖}霸_??途W(wǎng) (nowcoder.com)
本題主要考察C語(yǔ)言中邏輯分支語(yǔ)句,基本語(yǔ)句以及對(duì)各種特殊字符 ,ASCII值以及條件表達(dá)中的邏輯運(yùn)算符關(guān)系運(yùn)算符各自功能的理解,以及基本使用,根據(jù)不同的條件,進(jìn)入不同的分支,統(tǒng)計(jì)求和
解題思路:
1、先統(tǒng)計(jì)大小寫(xiě)字母,數(shù)字,以及特殊字符的個(gè)數(shù)
2、再對(duì)題目給的限定條件累加求和
代碼實(shí)現(xiàn):
#include<iostream>
using namespace std;int string_count( const string& str)
{int digit=0,symbol=0;int lower=0,upper=0,character=0;int sum=0;for(auto ch:str){if(ch>='a'&&ch<='z'){lower++;character++;}else if(ch>='A'&&ch<='Z'){upper++;character++;}else if(ch>='0'&&ch<='9')digit++;if((ch>=0x21&&ch<=0x2F)||(ch>=0x3A&&ch<=0x40)||(ch>=0x5B&&ch<=0x60)||(ch>=0x7B&&ch<=0x7E))symbol++;}//str字符長(zhǎng)度分?jǐn)?shù)if(str.size()>=8)sum+=25;else if (str.size()>=5&&str.size()<=7)sum+=10;else if (str.size()<=4)sum+=5;//計(jì)算字母分?jǐn)?shù)if(lower>0&&upper>0)sum+=20;else if (lower==character||upper==character)sum+=10;//計(jì)算數(shù)字分?jǐn)?shù)if(digit>1)sum+=20;else if (digit==1)sum+=10;//計(jì)算字符分?jǐn)?shù)if(symbol>1)sum+=25;else if (symbol==1)sum+=10;if(lower>0&&upper>0&&digit>0&&symbol>0)sum+=5;else if((lower>0||upper>0)&&digit>0&&symbol>0)sum+=3;else if((lower>0||upper>0)&&digit>0&&symbol==0)sum+=2;return sum;
}
int main()
{string str;while(cin>>str){int score=string_count(str);if(score>=90){cout<<"VERY_SECURE"<<endl;}else if(score>=80){cout<<"SECURE"<<endl;}else if(score>=70) {cout<<"VERY_STRONG"<<endl;}else if(score>=60) {cout<<"STRONG"<<endl;}else if(score>=50) {cout<<"AVERAGE"<<endl;}else if(score>=25) {cout<<"WEAK"<<endl;}else if(score>=0) {cout<<"VERY_WEAK"<<endl;}}
}
題目二:井字棋
題目鏈接:井字棋_牛客題霸_??途W(wǎng) (nowcoder.com)
題目描述:
解題思路:
玩家棋子為1
整個(gè)一行相加結(jié)果為列數(shù) 就獲勝了
整個(gè)一列相加結(jié)果為行數(shù) 就獲勝了
正斜 board[row][row]
副斜board[row][col-1-i]
?代碼實(shí)現(xiàn):
class Board {
public:bool checkWon(vector<vector<int> > board) {// write code hereint row=board.size();int col=board[0].size();//行連成排for(int i=0;i<row;i++){int sum=0;for(int j=0;j<col;j++){sum+=board[i][j];}if(sum==col) return true;}//列連成排for(int i=0;i<col;i++){int sum=0;for(int j=0;j<row;j++){sum+=board[j][i];}if(sum==row) return true;}//正斜成排int sum=0;for(int i=0;i<row;i++){sum+=board[i][i];}if(sum==row) return true;//副斜成排sum=0;for(int i=0;i<row;i++){sum+=board[i][col-1-i];}if(sum==row) return true;return false;}
};