1,
Description
将输入的两个字符串连接在一起输出。
编写一个函数str_cat()求两个串的连接: 原型:char * str_cat(char * t, char * s); 功能:把串s连接到串t之后,返回值是串t。 函数的调用格式见“Append Code”。
Invalid Word(禁用单词)错误:在解决这个题目时,某些关键词是不允许被使用的。如果提交的程序中包含了下列的关键词之一,就会产生这个错误。 被禁用的头文件:string.h、stdlib.h。 被禁用的库函数:strcat()、strncat()、memcat()、strcpy()、strncpy()、memcpy()等。
Input
输入为多组,每组包括两行。第一行为一个字符串s,第二行为字符串str。s、str的字符总数均不超过100个。
Output
把串s的内容连接到串str之后,输出串str。 输出两遍,一遍是测试返回值,一遍是测试str。
Sample Input
Look!
I love china!
Sample Output
I love china! Look!
I love china! Look!
HINT
str_cat()的返回值参考标准库函数strcpy()、strcat()、strchr()的设计思路:返回指向目标串的指针。
Append Code
append.c
int main()
{
char s[MAX_STR_LEN], str[MAX_STR_LEN], *p;
while(gets(s) != NULL && gets(str) != NULL)
{
p = str_cat(str, s);
puts§;
puts(str);
}
return 0;
}
#include<stdio.h>
#define MAX_STR_LEN 100
char *str_cat(char str[],char s[]){
int a,b,k;
for(a=0;str[a]!=NULL;a++){
k=0;
}
for(b=0;s[b]!=NULL;b++){
k=0;
}
for(int i=0;i<b;i++){
str[a+i]=s[i];
}
return str;
}
int main()
{
char s[MAX_STR_LEN], str[MAX_STR_LEN], *p;
while(gets(s) != NULL && gets(str) != NULL)
{
p = str_cat(str, s);
puts(p);
puts(str);
}
return 0;
}
这应该算早间练.
编写函数:浮点数取整 (Append Code)
Time Limit: 1 Sec Memory Limit: 2 MB
Description
各种程序设计语言里常见的取整函数有四个,分别是fix()、floor()、ceil()、round()。它们的功能细微之处各不相同,但有一点功能是共同的,就是把一个可能带小数点的浮点数转换成一个整数。
编写函数myFloor()和myCeil(): 原型:int myFloor(double data); 功能:下取整,返回不大于data的最大整数。 原型:int myCeil(double data); 功能:上取整,返回不小于data的最小整数。 函数的调用格式见“Append Code”。
Invalid Word(禁用单词)错误:在解决这个题目时,某些关键词是不允许被使用的。如果提交的程序中包含了下列的关键词之一,就会产生这个错误。 被禁用的头文件:math.h和stdlib.h。
Input
输入有多行,每行是一个可能带小数点的浮点数m。
Output
输出为多行,与上述输入一一对应。每行输出两个整数:m上取整和下取整的结果,两者之间用一个空格分隔开。
Sample Input
1.3
-1.5
2
Sample Output
1 2
-2 -1
2 2
HINT
Append Code
append.c
int main()
{
double data;
while(scanf("%lf", &data) != EOF)
printf("%d %d\n", myFloor(data), myCeil(data));
return 0;
}
#include<stdio.h>
#define MAX_STR_LEN 100
int myFloor(double data){
if(data>=0)
return data;
else return data-1;
}
int myCeil(double data){
int c=data;
if(data>0&&data!=c)
return data+1;
if(data==0){
return 0;
}
if(data<0||data==c)
return data;
}
int main()
{
double data;
while(scanf("%lf", &data) != EOF)
printf("%d %d\n", myFloor(data), myCeil(data));
return 0;
}