ACM-ICPC 2018 焦作赛区网络预赛 A. Magic Mirror | 字符串比较 (水)
题目:
Jessie has a magic mirror.
Every morning she will ask the mirror: 'Mirror mirror tell me, who is the most beautiful girl in the world?' If the mirror says her name, she will praise the mirror: 'Good guy!', but if the mirror says the name of another person, she will assail the mirror: 'Dare you say that again?'
Today Jessie asks the mirror the same question above, and you are given a series of mirror's answers. For each answer, please output Jessie's response. You can assume that the uppercase or lowercase letters appearing anywhere in the name will have no influence on the answer. For example, 'Jessie' and 'jessie' represent the same person.
Input
The first line contains an integer T(1 \le T \le 100)T(1≤T≤100), which is the number of test cases.
Each test case contains one line with a single-word name, which contains only English letters. The length of each name is no more than 1515.
Output
For each test case, output one line containing the answer.
样例输入复制
2
Jessie
Justin
样例输出复制
Good guy!
Dare you say that again?
题目来源
题解:
题目的意思即是 现在有一个已经确定的字符串,然后输入字符串,与源字符串进行比较,若除大小写外无差别就输出“ Good guy!” ,否则输出“Dare you say that again?" 。
仅仅需要一个字符串的逐个位比较。
代码:
代码1
#include <cstdio>
#include <iostream>
using namespace std;
int main(){
int a;
string c ="jessie",b;
scanf("%d",&a);
for(;a;a--){
cin>>b;
int i=0,q=0;
if(b.length()!=6){
printf("Dare you say that again?\n");
continue;
}
for(;i<7;i++){
if(b[i]==c[i] ||b[i]==c[i] - 32 ){
q++;
}else{
printf("Dare you say that again?\n");
break;
}
if(q==6){
printf("Good guy!\n");
}
}
}
return 0;
}
代码2
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main(){
int t;
scanf("%d",&t);
string s;
string tt="jessie";
while(t--){
cin>>s;
int flag=1;
if(s.length()!=6){printf("Dare you say that again?\n");continue;}
for(int i=0;i<s.length();i++){
if(s[i]==tt[i]||s[i]==tt[i]-32)continue;
else {flag=0;break;}
}
if(!flag)printf("Dare you say that again?\n");
else printf("Good guy!\n");
}
}