以上是朋友圈中一奇葩贴:“2月14情人节了,我决定造福大家。第2个赞和第14个赞的,我介绍你俩认识…………咱三吃饭…你俩请…”。现给出此贴下点赞的朋友名单,请你找出那两位要请客的倒霉蛋。
输入格式:
输入按照点赞的先后顺序给出不知道多少个点赞的人名,每个人名占一行,为不超过10个英文字母的非空单词,以回车结束。一个英文句点.
标志输入的结束,这个符号不算在点赞名单里。
输出格式:
根据点赞情况在一行中输出结论:若存在第2个人A和第14个人B,则输出“A and B are inviting you to dinner...”;若只有A没有B,则输出“A is the only one for you...”;若连A都没有,则输出“Momo... No one is for you ...”。
输入样例1:
GaoXZh
Magi
Einst
Quark
LaoLao
FatMouse
ZhaShen
fantacy
latesum
SenSen
QuanQuan
whatever
whenever
Potaty
hahaha
.
输出样例1:
Magi and Potaty are inviting you to dinner...
输入样例2:
LaoLao
FatMouse
whoever
.
输出样例2:
FatMouse is the only one for you...
输入样例3:
LaoLao
.
输出样例3:
Momo... No one is for you ...
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
#include <bits/stdc++.h>
#include <string>
using namespace std;
//解题思路读入人名记录2和14分别是谁,判断几人请客
//本题易错点就是边界问题,当i=0,i=1时到i等于多少时有两人,i等于多少时1人
//打印字符串方法:一个一个遍历,和直接打印
// for (int j = 0; j < name2.size(); j++) {
// printf("%c", name2[j]);
// }
// printf("%s", name2.c_str());
//遍历字符串的每个字符可以使用str[i]进行遍历
//scanf可以读取空格,使用getline(cin,string)读入n行string需要n+1次循环
int main() {
string name2, name14;
string temp = "0";
int i = 0;
while (true) {
getline(cin, temp);
if (temp == ".") {
break;
}
if (i == 1) {
name2 = temp;
}
if (i == 13) {
name14 = temp;
}
i++;
}
if (i > 14) {
printf("%s", name2.c_str());
printf(" and ");
printf("%s", name14.c_str());
printf(" are inviting you to dinner...");
} else if (i >= 2 ) {
printf("%s", name2.c_str());
printf(" is the only one for you...");
} else {
printf("Momo... No one is for you ...");
}
return 0;
}