第二次作业
6-7 删除字符串中数字字符
1.设计思路
(1)第一步:根据已知题意,观察已给程序,了解题中各个参数的意义。
第二部;设计简单的函数,执行题中所需功能。
第三部:上机运行程序,检查程序对错。
(2)流程图
2.实验代码
#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;*(s+i)!='\0';i++)
{
if(*(s+i)>='0'&&*(s+i)<='9')
{
for(j=i;*(s+j)!='\0';j++)
{
*(s+j)=*(s+j+1);
}
i--;
}
}
}
3.本体调试过程碰到问题及解决办法
错误信息1:无
错误原因1:无
git地址:https://git.coding.net/chenxu1999/diercizuoye.git
6-8 统计子串在母串出现的次数
1.设计思路
(1)第一步:根据已知题意,观察已给程序,了解题中各个参数的意义。
第二部;设计简单的函数,执行题中所需功能。
第三部:上机运行程序,检查程序对错。
(2)流程图
2.实验代码
#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;
}
int fun(char *str,char *substr)
{
int i,j,count=0,t;
for(i=0;*(str+i)!='\0';i++)
{
t=1;
if(*(str+i)==*substr)
{
for(j=0;*(substr+j)!='\0';j++)
{
if(*(str+i+j)!=*(substr+j))
{
t=0;
break;
}
}
if(t==1)
count++;
}
}
return count;
}
3.本体调试过程碰到问题及解决办法
错误信息1:整体思路错误
错误原因1:没有理解题意
git地址:https://git.coding.net/chenxu1999/diercizuoye.git
6-9 字符串中除首尾字符外的其余字符按降序排列
1.设计思路
(1)第一步:根据已知题意,观察已给程序,了解题中各个参数的意义。
第二部;设计简单的函数,执行题中所需功能。
第三部:上机运行程序,检查程序对错。
(2)流程图
2.实验代码
#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;
char t;
for(i=1;i<num-1;i++)
{
for(j=num-2;j>i;j--)
{
if(*(s+j)>*(s+j-1))
{
t=*(s+j);
*(s+j)=*(s+j-1);
*(s+j-1)=t;
}
}
}
}
3.本体调试过程碰到问题及解决办法
错误信息1:无
错误原因1:无
git地址: https://git.coding.net/chenxu1999/diercizuoye.git
7-1 输出学生成绩
1.设计思路
(1)第一步:根据已知题意,观察已给程序,了解题中各个参数的意义。
第二部;设计简单的函数,执行题中所需功能。
第三部:上机运行程序,检查程序对错。
(2)流程图
2.实验代码
#include<stdio.h>
#include<stdlib.h>
int main()
{
int N,i;
double sum=0,max,min,ag,*p;
scanf("%d",&N);
if((p=(double *)calloc(N,sizeof(double)))==NULL)
{
printf("Not able to allocate memory.\n");
exit(1);
}
for(i=0;i<N;i++)
{
scanf("%lf",p+i);
sum=sum+*(p+i);
}
max=*p,min=*p;
for(i=0;i<N;i++)
{
if(*(p+i)>max)
max=*(p+i);
if(*(p+i)<min)
min=*(p+i);
}
ag=sum*1.0/N;
printf("average = %.2lf\nmax = %.2lf\nmin = %.2lf\n",ag,max,min);
free(p);
}
3.本体调试过程碰到问题及解决办法
无
git地址:https://git.coding.net/chenxu1999/diercizuoye.git
这两周来所有PTA作业中题目所使用的知识点:
1.字符串与指针的关系
2.函数指针调用函数
3.指针作函数参数
4.循环语句等基础知识
请用表格和折线图呈现你本周(3/1913:00~4/5 8:00)的代码行数和时间、博客字数和时间