Uva489 - Hangman Judge

看完例题思路后,学习例题的自顶向下逐步求精法,然后自己实现代码,运行比例题稍稍快。。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<algorithm>
char s[100], s2[100];
int left, chance;//记录还需猜的单词与剩余猜的次数
int n;
int win, lose;
int d;
void guess(char s2[]){						
	for (int i = 0; i < strlen(s2); i++){
		d = 0;
		for (int j = 0; j < strlen(s); j++){
			if (s2[i] == s[j]){
				s[j] = ' ';
				left--;
				d = 1;
			}
		}
		if (!d) chance--; 
		if (!chance){
			lose = 1; break;
		}
		if (!left){
			win = 1; break;
		}
	}

}
int main(){
	while (scanf("%d%s%s",&n, s, s2) == 3 && n != -1){
		printf("Round %d\n", n);
		win = lose = 0;
		left = strlen(s);
		chance = 7;
		guess(s2);
		if (win) printf("You win.\n");
		else if (lose) printf("You lose.\n");		
		else printf("You chickened out.\n");
		}
	return 0;
}

你可能感兴趣的:(Uva489 - Hangman Judge)