C语言II|博客园04

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-4
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-4/homework/11988
这个作业的目标 学会运用指针解决问题,编写函数,字符串数组的使用
学号 20209202

一、本周作业(总分:20分)

1.1 完成PTA作业,并给出编程题完成截图(5分)

6-1 mystrcpy

编写一个函数 char *mystrcpy(char *s1, const char *s2)

它的功能是把字符串s2中的所有字符复制到字符数组s1中。函数返回指向数组s1第一个元素的指针。

函数接口定义:
函数接口:
char *mystrcpy(char *s1, const char *s2);
把字符串s2中的所有字符复制到字符数组s1中。函数返回指向数组s1第一个元素的指针。

裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如:

include <stdio.h>

char *mystrcpy(char *s1, const char *s2);

int main()
{
char a[30], b[30], c[30];
gets(c);
mystrcpy(a, mystrcpy(b, c));
puts(a);
return 0;
}

/* 请在这里填写答案 */
输入样例:
abcd
输出样例:
abcd
代码截图

6-2 mystrcat

编写一个函数 char* mystrcat(char *s1, const char *s2)

函数功能是把字符串s2的所有元素连接到字符串s1之后。

函数接口定义:
函数接口:
char* mystrcat(char *s1, const char *s2);
把字符串s2的所有元素连接到字符串s1之后。

裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如:

include <stdio.h>

char *mystrcat(char *s1, const char *s2);

int main()
{
char a[100] = "abcd", b[60], c[30];
scanf("%s", b);
scanf("%s", c);
mystrcat(a, mystrcat(b, c));
puts(a);
return 0;
}

/* 请在这里填写答案 */
输入样例:
fgh
ijk
输出样例:
abcdfghijk
代码截图

6-3 mystrcmp

写一个函数 int mystrcmp(const char *string1, const char *string2)

函数的功能是比较2个字符串的大小。返回值表示两个字符串比较的结果。

函数接口定义:
函数接口:
int mystrcmp(const char *string1, const char *string2);
函数的功能是比较2个字符串的大小。返回值表示两个字符串比较的结果。

捕获.PNG

字符串比较的规则是对两个字符串自左至右逐个字符相比较(按ASCII码值大小比较),直到出现不同的字符或遇到‘’为止。如全部字符相同,则认为相等;若出现不同的字符,则以第一个不相同的字符的比较结果为准。 例如:

“A”< “B”,“a”>“A”,“computer”>“compare”,“these”>“that”, “36+54”<“99”, “CHINA”>“CANADA”, “DOG”<“cat”,“abc”<“ax”,“abcde”>“abcd”。

裁判测试程序样例:
在这里给出函数被调用进行测试的例子。例如:

include <stdio.h>

int mystrcmp(const char *s1, const char *s2);

int main()
{
char s1[30], s2[30];
scanf("%s", s1);
scanf("%s", s2);
if (mystrcmp(s1, s2) > 0)
{
printf("%s > %s ", s1, s2);
}
if (mystrcmp(s1, s2) == 0)
{
printf("%s == %s ", s1, s2);
}
if (mystrcmp(s1, s2) < 0)
{
printf("%s < %s ", s1, s2);
}
return 0;
}
/* 请在这里填写答案 */
输入样例:
abcd
ax
输出样例:
abcd < ax
代码截图

6-4 字符数组与字符串:删除字符串所有空格。

编写一个函数,用来删除字符串中的所有空格。

函数接口定义:
在这里描述函数接口。例如:
void fun(char *str) ;
裁判测试程序样例:

include "stdio.h"

void fun(char *str) ;

main()
{
char str[81] ;
gets(str) ;
fun(str) ;
printf("%s",str) ;
}

/* 请在这里填写答案 */
输入样例:
I hope you are right!
输出样例:
Ihopeyouareright!
代码截图

7-1 向右移动字符串 (15 分)

对于字符串“abcd”:

向右移动1个单位变为“dabc”。

向右移动2个单位变为“cdab”。

向右移动3个单位变为“bcda”。

输入格式:
输入包含两行。第一行:一个非负整数N(在32 位整数范围内)代表向右移动次数。第二行:一个不包含空格的非空字符串(长度小于1001)。

输出格式:
输出在移动N个单位长度后的字符串。

输入样例:
4
abcdef
输出样例:
cdefab
代码截图

1.2 请给出本章学习总结(15分)

1 学习进度条(5分)

周/日期 这周花的时间 代码行数 学到的知识简介 目前比较困惑的问题
第一周 一天 74 如何读取文件 半懂
第二周 一天 82 运用数组 如何改进更优
第三周 两天 70 使用字符串编程 对字符串编程不够熟练,还有点不明白
第四周 三天 109 运用字符串数组和指针 函数的编写

2 累积代码行和博客字数(5分)

3 学习内容总结和感悟(5分)

3 学习内容总结和感悟

这周学习的东西较多,而且学习到了指针,这个指针很关键,一定要弄懂。

原文地址:https://www.cnblogs.com/hvhghjjy/p/14731731.html