NowCoder每天要给许多客户写电子邮件正如你所知,如果一封邮件中包含多个收件人,收件人姓名之间会用一个逗号和空格隔开。如果收件人姓名也包含空格或逗号,则姓名需要用双引号包含。
现在给你一组收件人姓名,请你帮他生成相应的收件人列表。
输入描述:
输入包含多组数据。
每组数据的第一行是一个整数n(1≤n≤128),表示后面有n个姓名。
紧接着n行,每一行包含一个收件人的姓名。姓名长度不超过16个字符。
输出描述:
对应每一组输入,输出一行收件人列表。
示例1
输入
3
Joe
Quan,William
Letendre,Bruce
2
Leon
Kewell
输出
Joe,“Quan,William”,“Letendre,Bruce”
Leon,Kewell
// write your code here cpp
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n;
while (cin >> n)
{
getchar();
string name;
for (int i = 0; i < n; ++i)
{
getline(cin,name);
if(i != n-1)
{
if(name.find(',')!= string::npos || name.find(' ')!= string::npos)
cout << "\"" << name << "\"" << "," << " ";
else
cout << name << "," << " ";
}
else
{
if(name.find(',')!= string::npos || name.find(' ')!= string::npos)
cout << "\"" << name << "\"" <<endl;
else
cout << name << endl;
}
}
}
return 0;
}
#include <iostream>
#include <string>
#include <cstdio>
int main()
{
int n;
while(std::cin >> n) //接收数字
{
std::cin.get(); //处理回车
std::string name;
for(int i=0; i < n; i++) //名字分别处理
{
bool quote = false;
std::getline(std::cin, name);
if (name.find(',') != std::string::npos ||
name.find(' ') != std::string::npos) //找到逗号或者空格,就要加双引号
{
quote = true;
}
if (quote)
{
putchar('\"'); //putchar效率更高
}
std::cout << name;
if (quote)
{
putchar('\"');
}
if (i == n - 1) //如果已经是最后一个字符串,那就补回车,否则加逗号和空格
{
putchar('\n');
}
else
{
putchar(',');
putchar(' ');
}
}
}
return 0;
}
一只成熟的兔子每天能产下一胎兔子。每只小兔子的成熟期是一天。 某人领养了一只小兔子,请问第N天以后,他将会得到多少只兔子。
输入描述:
测试数据包括多组,每组一行,为整数n(1≤n≤90)。
输出描述:
对应输出第n天有几只兔子(假设没有兔子死亡现象)。
示例1
输入
1
2
输出
1
2
#include <iostream>
using namespace std;
int main()
{
int n;
while (cin >> n)
{
long long arr[91] = {0,1,2};
if (n > 2)
{
int i;
for (i = 3; i <= n; ++i)
arr[i] = arr[i - 2] + arr[i - 1];
cout << arr[n] << endl;
continue;
}
cout << arr[n] << endl;
}
return 0;
}