码迷,mamicode.com
首页 > 其他好文 > 详细

C高级第二次作业

时间:2018-03-26 21:32:58      阅读:832      评论:0      收藏:0      [点我收藏+]

标签:post   fga   次数   ++   分享图片   void   std   另一个   程序   

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高级第二次作业

标签:post   fga   次数   ++   分享图片   void   std   另一个   程序   

原文地址:https://www.cnblogs.com/X-JY/p/8652592.html

(2)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!