第二次PTA作业

Posted 计算机17-4班李云龙

tags:

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

6-7 删除字符串中数字字符

设计思路:

第一步:审题,读懂题中参数意义

第二步:理清思路,将函数补全

流程图:

实验代码:

#include "stdio.h"
void delnum(char *s);
int main ()
{ char item[80];
gets(item);
 delnum(item);
 printf("%s\\n",item);
 return 0;
}
void delnum(char *s)
{ int i,j;
for(i=0,j=0;s[i]!=\'\\0\';i++)  
if(s[i]<\'0\' || s[i]>\'9\')  
{  s[j]=s[i];j=j+1;}     
s[j]=\'\\0\';} 

 

调试中错误和解决办法:

git地址:https://coding.net/u/wunaidelongge/p/diyicizuoye/git/edit/master/6.7?public=true

6-8 统计子串在母串出现的次数

设计思路:

第一步:审题,读懂题中参数意义

第二步:理清思路,将函数补全

流程图:

实验代码:

#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;
}
#include<string.h>

int fun(char *str,char *substr)
{
    int n = 0;
    int i,j;
    for(i=0;i<strlen(str);i++)
    {
        for(j=0;j<strlen(substr);j++)
        {
            if(*(substr+j)!=*(str+i+j))
                break;
        }
        if(j==strlen(substr))n++;
    }
    return n;}

 

调试中错误和解决办法:

git地址:https://coding.net/u/wunaidelongge/p/diyicizuoye/git/blob/master/6.8?public=true

6-9 字符串中除首尾字符外的其余字符按降序排列

设计思路:

第一步:审题,读懂题中参数意义

第二步:理清思路,将函数补全

流程图:

实验代码:

#include <stdio.h>
int fun(char *s,int num);
int main()
{
 char s[10];
 gets(s);
 fun(s,7);
 printf("%s",s);
 return 0;
 }
 int fun(char *s,int num)
{
    int i,j,k,n;
    i=0, j=0, k=0, n=0;
char t;
for(n=0;;n++)
 {
 if(*(s+n)==\'\\0\')break;
    }
    n--;
        for(i=1;i<n-1;i++)
  {
        for(j=i;j<n;j++)
    {
        if(*(s+j)>*(s+i))
       {
           t=*(s+i);
           *(s+i)=*(s+j);
           *(s+j)=t;
       }
     }
   }
}

 

调试中错误和解决办法:

未理清函数步骤

git 地址:https://coding.net/u/wunaidelongge/p/diyicizuoye/git/blob/master/6.9.0?public=true

7-1 输出学生成绩

设计思路:

第一步:审题,读懂题中参数意义

第二步:理清思路,设计函数

流程图:

实验代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

int main()
{
    int n,i;
    double max=0,min=100,sum=0,wo;
    scanf("%d",&n);
    for(i=1;i<=n;i++)
    {
        scanf("%lf",&wo);
        if(wo>max) max=wo;
        if(wo<min) min=wo;
        sum=sum+wo;
    }
    printf("average = %.2lf\\n",sum/n);
    printf("max = %.2lf\\n",max);
    printf("min = %.2lf",min);

    return 0;
}  

 git地址:https://coding.net/u/wunaidelongge/p/diyicizuoye/git/blob/master/6.9?public=true

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

pta第二次作业

pta第二次作业

关于PTA第二次大作业的总结

第二次pta作业

2018第二次作业

第二次作业--线性表