poj 1575 Easier Done Than Said?【字符串处理】
来源:互联网 发布:全球购海淘宝 编辑:程序博客网 时间:2024/05/17 07:23
题意:给你一段密码,判断这段密码是否安全,若安全则是acceptable。
密码必须同时满足下面三个限制条件才是安全密码:1、必须包含元音字母;
2、不能包含连续的三个元音或辅音字母;
3、除了ee和oo外,任何两个连续字母如果相同,密码就不安全。
总结一下,很久没编程了,通过这道题学会或者温习了以下知识点:
1.scanf("%s",pwd);和gets(pwd);的区别
2.字符串的函数间传值
3.char vowel[]="aeiou";和char vowel[]={'a','e','i','o','u','\0'};
字符串赋初值的两种方法
AC的代码:
#include <stdio.h>#include <string.h>bool thereIsAVowel(char *pwd)//返回ture代表合格{//char vowel[]={'a','e','i','o','u','\0'};char vowel[]="aeiou";int i,j;for(i=0;i<5;i++){for(j=0;j<strlen(pwd);j++){if(pwd[j]==vowel[i])return true;}}return false;}bool threeVowel(char *pwd){int vowel=0;//初始值为0,如果连续不为元音-1,连续为元音+1,交替出现清0char preletter='?';//记录前一个字符int i;for(i=0;i<strlen(pwd);i++){if(pwd[i]==preletter && (pwd[i]!='e' && pwd[i]!='o'))//构成连续2个相同return false;//下面判断连续3个元音或辅音if(pwd[i]=='a' || pwd[i]=='e' || pwd[i]=='i' || pwd[i]=='o' || pwd[i]=='u'){if(vowel<0)//前面正在记录辅音vowel=1;elsevowel++;}else{//pwd[i]为辅音时if(vowel>0)vowel=-1;elsevowel--;}if(vowel>=3 || vowel<=-3)return false;preletter=pwd[i];}return true;}int main(){char pwd[30];while(scanf("%s",pwd)!=EOF) //"%s"不会输入空格//while(gets(pwd)) //gets会输入空格{if(strcmp(pwd,"end")==0) break;//1.必须含有元音字母if(!thereIsAVowel(pwd)){printf("<%s> is not acceptable.\n",pwd);continue;}//3个连续的辅音或元音,2个相同的可以一起解决了if(!threeVowel(pwd)){printf("<%s> is not acceptable.\n",pwd);continue;}//可用密码printf("<%s> is acceptable.\n",pwd);}return 0;}
0 0
- poj 1575 Easier Done Than Said?【字符串处理】
- poj 1575 Easier Done Than Said?
- POJ 1575 Easier Done Than Said?
- poj-1575-Easier Done Than Said?
- poj 1575 Easier Done Than Said?
- POJ 1575 Easier Done Than Said? G++
- Easier Done Than Said?(字符串)
- HDOJ 1039 Easier Done Than Said? 简单的字符串处理
- HDOJ 1039 Easier Done Than Said? 简单的字符串处理
- hdu 1039 (Easier Done Than Said?)(字符串处理)
- HDOJ/HDU 1039 Easier Done Than Said?(字符串处理~)
- HDU-1039-Easier Done Than Said?(简单字符串处理)
- POJ 1575 Easier Done Than Said? (简单模拟)
- POJ 1575 && HDU 1039 Easier Done Than Said?(水~)
- Easier Done Than Said?
- Easier Done Than Said?
- Easier Done Than Said?
- Easier Done Than Said?
- 初识java集合2
- EL表达式简述
- Linux下Kill函数用法
- Sort Colors -- LeetCode
- 操作系统--处理器调度
- poj 1575 Easier Done Than Said?【字符串处理】
- KMP算法(uva 1328)
- 项目进阶 之 集群环境搭建(一)概述
- poj 3420 Quad Tiling(状态压缩矩阵递推)
- Subsets -- LeetCode
- Leetcode: Permutations 理解分析
- 黑马程序员_.NET字符串
- 黑马程序员 ----- Java基础 之 IO 基本规律总结 Day05
- Container With Most Water