第二次作业
Posted 暴戾喵
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二次作业相关的知识,希望对你有一定的参考价值。
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://coding.net/u/lgy2787/p/dyc/git/blob/master/6.7
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://coding.net/u/lgy2787/p/dyc/git/blob/master/6.8
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://coding.net/u/lgy2787/p/dyc/git/blob/master/6.9
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.本体调试过程碰到问题及解决办法
错误信息1:不能很有效的控制输入的人数
错误原因1:指针定义模糊
git地址:https://coding.net/u/lgy2787/p/dyc/git/blob/master/7-1
这两周来所有PTA作业中题目所使用的知识点:
1.字符串与指针的关系
2.函数指针调用函数
3.指针作函数参数
4.循环语句等基础知识
请用表格和折线图呈现你本周(4/1 13:00~4/8 12:00)的代码行数和时间、博客字数和时间
以上是关于第二次作业的主要内容,如果未能解决你的问题,请参考以下文章