Description
输入一个字符串,按要求输出其中一部分字符。
编写一个函数put_str()来实现这个功能,函数调用格式见append.cc。
Input
输入第一行为一个字符串,最多不超过99个字符。后接多行,每行以一个整数k开始,后接k个整数。k=0时,输出字符串的前10个字符;k=1时,后接整数l(l>0)表示输出前l个字符;k=2时,后接整数l和m(l,m>0),表示从下标m开始输出l个字符,
若输出超出字符串长度,只输出到字符串结尾。
Output
从输入的第二行开始,每行对应输出一个字符串。
Sample Input
abcdefghijklmnopqrstuv2 2 202 3 201 10
Sample Output
uvuvaabcdefghij
HINT
Append Code
int
main()
{
char
s[100];
int
k;
cin >> s;
while
(cin >> k)
{
int
l, m;
if
(k == 0)
put_str(s);
if
(k == 1)
{
cin >> l;
put_str(s, l);
}
if
(k == 2)
{
cin >> l >> m;
put_str(s, l, m);
}
}
}
|
#include <bits/stdc++.h>
using namespace std;
void put_str(char s[])
{
char *p = s;
int l=strlen(s);
if(l<10)
{
while(*p)
{
cout<<*p++;
}
// cout<<endl;
}
else
{
l = 10;
while(l--)
{
cout<<*p++;
}
}
cout<<endl;
}
void put_str(char s[],int j)
{
char *p = s;
int l=strlen(s);
if(j>l) j=l;
while(j--)
{
cout<<*p++;
}
cout<<endl;
}
void put_str(char s[],int l,int m)
{
char *p = &s[m];
int len=strlen(s);
int c=m+l;
if(c>len) l = len - m;//注意l的范围
while(l--)
{
cout<<*p++;
}
cout<<endl;
}
int main()
{
char s[100];
int k;
cin >> s;
while(cin >> k)
{
int l, m;
if(k == 0)
put_str(s);
if(k == 1)
{
cin >> l;
put_str(s, l);
}
if(k == 2)
{
cin >> l >> m;
put_str(s, l, m);
}
}
}