C语言II博客作业04

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

一、本周作业(总分: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个字符串的大小。返回值表示两个字符串比较的结果。

字符串比较的规则是对两个字符串自左至右逐个字符相比较(按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 向右移动字符串

对于字符串“abcd”:
向右移动1个单位变为“dabc”。
向右移动2个单位变为“cdab”。
向右移动3个单位变为“bcda”。

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

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

输入样例:
4
abcdef
输出样例:
cdefab

提交截图

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

1 学习进度条(5分)

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第一周 3天 112 编写测试程序,检测代码是否正确,计算运行时间 怎么使非常大的测试数据运算速度加快
第二周 4天 177 用一维数组编程,掌握选择排序法和二分查找法等排序算法 有些排序算法不太懂,如直接插入排序等
第三周 3天 157 使用字符串编程 对字符串编程不够熟练,还有点不明白
第四周 2天 162 运用字符串数组和指针 函数的编写

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

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

1、本周学习了指针以及对指针的运用;
2、在课堂上听懂了,但自己编写时就不会了,在做题时有很多模糊的地方,似懂非懂;
3、对不熟的地方要多练习。

原文地址:https://www.cnblogs.com/zhge/p/14729363.html