题目描述
将输入的一个字符串s拷贝输出。
-----------------------------------------------------------------------------
编写一个函数str_cpy()求一个串的拷贝:
原型:char * str_cpy(char * t, char * s, int n);
功能:把串s的前n个字符复制到串t中,返回值是串t。如果串s的字符个数不足n个,则全部复制。
函数的调用格式见“Append Code”。
-----------------------------------------------------------------------------
Invalid Word(禁用单词)错误:在解决这个题目时,某些关键词是不允许被使用的。如果提交的程序中包含了下列的关键词之一,就会产生这个错误。
被禁用的头文件:string.h、stdlib.h。
被禁用的库函数:strcpy()、strncpy()、memcpy()等。
输入
输入为多行。每行为一个非负整数n和一个字符串s,两者用一个空格分隔。s的字符总数不超过100个。
输出
串s前n个字符的复制。
输出两遍,一遍是测试返回值,一遍是测试str。
样例输入
2 Look! 5 I love china!
样例输出
Lo Lo I lov I lov
提示
str_cpy()的返回值参考标准库函数strcpy()、strstr()、strchr()的设计思路:返回指向目标串的指针。
Append Code
append.c,
将输入的一个字符串s拷贝输出。
-----------------------------------------------------------------------------
编写一个函数str_cpy()求一个串的拷贝:
原型:char * str_cpy(char * t, char * s, int n);
功能:把串s的前n个字符复制到串t中,返回值是串t。如果串s的字符个数不足n个,则全部复制。
函数的调用格式见“Append Code”。
-----------------------------------------------------------------------------
Invalid Word(禁用单词)错误:在解决这个题目时,某些关键词是不允许被使用的。如果提交的程序中包含了下列的关键词之一,就会产生这个错误。
被禁用的头文件:string.h、stdlib.h。
被禁用的库函数:strcpy()、strncpy()、memcpy()等。
输入
输入为多行。每行为一个非负整数n和一个字符串s,两者用一个空格分隔。s的字符总数不超过100个。
输出
串s前n个字符的复制。
输出两遍,一遍是测试返回值,一遍是测试str。
样例输入
2 Look! 5 I love china!
样例输出
Lo Lo I lov I lov
提示
str_cpy()的返回值参考标准库函数strcpy()、strstr()、strchr()的设计思路:返回指向目标串的指针。
Append Code
append.c,
&&
&&
&&
#include<stdio.h>
#define MAX_STR_LEN 101
char * str_cpy(char * t, char * s,int n)
{
int i=0;
char *t1=t;
while(s!='\0')
{
if ( i>= n )
break ;
*t=*s;
t++;
s++;
i++;
}
*t=0;
return t1;
}
int main()
{
int n;
char s[MAX_STR_LEN], str[MAX_STR_LEN], *p;
while(scanf("%d", &n) != EOF && getchar())
{
gets(s);
p = str_cpy(str, s, n);
puts(p);
puts(str);
}
return 0;
}