C高级第二次作业

Posted 瑶啊摇✨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C高级第二次作业相关的知识,希望对你有一定的参考价值。

PTA作业第一部分

6-7 删除字符串中数字字符(10 分)

删除一个字符串中的所有数字字符。

函数接口定义:

void delnum(char *s);

其中 s是用户传入的参数。 函数的功能是删除指针 s所指的字符串中的所有数字字符。
裁判测试程序样例:

#include "stdio.h"
void delnum(char *s);
int main ()
{ char item[80];
gets(item);
 delnum(item);
 printf("%s\n",item);
 return 0;
}

/* 请在这里填写答案 */

输入样例:

a0bc+d496df

输出样例:

abc+ddf

1.设计思路:

(1).题目算法描述
第一步:定义i,j 并初始化为0
第二步:遍历s
第三步:判断s中每个元素是否为数字如果是数字则覆盖此元素
第四步:将s的最后一个元素归零

(2).流程图
技术分享图片

2.实验代码

void delnum(char *s)
{
    int i = 0,j = 0;
    while(s[i] != ‘\0‘) {
        if (!(s[i] >= ‘0‘ && s[i] <= ‘9‘)) {
            s[j++] = s[i];
        }
        i++;
    }
    s[j] = ‘\0‘;
}

2.错误调试

答案正确

技术分享图片

6-8 统计子串在母串出现的次数(10 分)

编写一个函数,该函数可以统计一个长度为3的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为:asdasasdfgasdaszx67asdmklo,字符串为:asd,则应输出n=4。。

函数接口定义:

int fun(char *str,char *substr);

其中strsubstr是用户传入的参数。函数统计substr指针所指的字符串在str指针所指的字符串中出现的次数,并返回次数。

裁判测试程序样例:

#include<stdio.h>
int fun(char *str,char *substr);
int main()
{ char str[81]="asdasasdfgasdaszx67asdmklo",substr[4]="asd";
 int n;
 n=fun(str,substr);
 printf("n=%d\n",n);
 return 0;
}


/* 请在这里填写答案 */

输出样例:

n=4

1.设计思路:

(1).题目算法描述
第一步:定义i,j , k, n并初始化为0
第二步:从母串开始遍历
第三步:母串的每个字符串与子串进行比较
第四步:当子串遍历完的时候统计次数用的n加一
第五步:返回n

(2).流程图

2.实验代码

int fun(char *str,char *substr)
{
    int i=0,j=0,k=0,n=0;
    for(i=0;str[i]!=‘\0‘;i++)//从母串开始遍历
    {
        for(j=i,k=0;str[j]==substr[k];j++,k++)//每次遍历的当前字符串都要和子串的第一个字符进行比较把子串遍历完次数加一
        {
            if(substr[k+1]==‘\0‘)
            {
                n++;
            }
        }
    }
    return n;
}

2.错误调试

答案正确

技术分享图片

简易量化付出表格

日期代码行数代码时间(min)博客字数博客时间(min)
3/26443571580














以上是关于C高级第二次作业的主要内容,如果未能解决你的问题,请参考以下文章

软件工程(2018)第二次结对作业

高级软件工程第二次作业

高级软件工程第二次作业

软件工程第二次作业

C 语言学习 第二次作业总结

高级软件工程-第二次作业-数独