489 - Hangman Judge
2012-04-18 13:22
316 查看
大意:猜单词。给出一个单词(选手不可见),选手猜单词的字母,若一个单词有多个相同字母则猜中一次就显示这些字母。猜错7次为输,在此之前若把单词的所有字母都猜中则为赢,既没有赢又没有输,即放弃。多次猜错同一个字母记为猜错一次。
思路:分别用两个数组记录给定的单词和选手猜的字母。记录给定单词有效字母的个数(不重复),用一个数组标识已给定的字母。然后用猜的字母逐个比较,分别记录猜错和猜中。
思路:分别用两个数组记录给定的单词和选手猜的字母。记录给定单词有效字母的个数(不重复),用一个数组标识已给定的字母。然后用猜的字母逐个比较,分别记录猜错和猜中。
#include<iostream> #include<cstring> using namespace std; int main() { char word[1000],check[1000]; int round,i,j,flag[26],los,get,sum; while(cin>>round&&round!=-1) { cout<<"Round "<<round<<endl; cin>>word; cin>>check; memset(flag,0,sizeof(flag)); los=get=sum=0; for(i=0;word[i]!='\0';i++) { if(flag[word[i]-'a']==0) { flag[word[i]-'a']=1; sum++; } } for(i=0;check[i]!='\0';i++) { if(flag[check[i]-'a']==0) { flag[check[i]-'a']=-1; los++; } else { if(flag[check[i]-'a']==1) { flag[check[i]-'a']=2; get++; } } if(los==7||get==sum) break; } if(los==7) cout<<"You lose."<<endl; else { if(get==sum) cout<<"You win."<<endl; else cout<<"You chickened out."<<endl; } } return 0; }
相关文章推荐
- uva-489 - Hangman Judge
- 489 - Hangman Judge
- UVA - 489 - Hangman Judge
- Problem 012——UVa 489 Hangman Judge
- UVa-489 - Hangman Judge
- Hangman Judge uva489
- UVa_489 - Hangman Judge
- 489 - Hangman Judge
- UVA489 - Hangman Judge
- uva489 - Hangman Judge
- UVa 489 Hangman Judge 【模拟】【练习函数的用法】
- uvaoj 489 - Hangman Judge
- Uva 489: Hangman Judge
- UVA 489 - Hangman Judge
- UVA - 489 Hangman Judge
- UVAOJ489-Hangman Judge
- UVA - 489 Hangman Judge
- UVa 489 Hangman Judge
- UVa 489 - Hangman Judge
- UVaOJ 489 - Hangman Judge