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 = 0,j = 0; while(s[i] != '\0'){ if (!(s[i] >= '0' && s[i] <= '9')) { s[j++] = s[i]; } i++; } s[j] = '\0'; }
3.本题调试过程中碰到的问题及解决办法
错误原因1:无
改正方法:无
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 n=0,i=0,j=0,k=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; }
3.本题调试过程中碰到的问题及解决办法
错误原因1:无
解决办法:无
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=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+i)<*(s+j)) { t=*(s+i); *(s+i)=*(s+j); *(s+j)=t; } } } }
3.本题调试过程中碰到的问题及解决办法
错误原因1:运行超时
改正方法:错误改正:关于字符串长度统计函数使用时必须包含string.h头文件
7-1 输出学生成绩
1.设计思路
(1)
第一步:根据题意,理清思路
第二步:设计函数
(2)流程图
略
2.实验代码
#include <stdio.h> int main() { int N,i; float sum=0, average=0, max=0, min=0; scanf("%d",&N); int a[N]; for(i=0;i<N;i++) { scanf("%d",&a[i]); } max = a[0]; min=a[0]; for(i=0;i<N;i++) { sum = sum + a[i]; if(a[i]>max){ max=a[i]; } if(a[i]<min){ min=a[i]; } } average=sum/N; printf("average = %.2f\nmax = %.2f\nmin = %.2f\n",average,max,min); return 0; }
3.本题调试过程中碰到的问题及解题方法
错误原因1:指针用法不够熟练
改正方法:同学指导
这两周来所有PTA作业中题目所使用的知识点:
1.字符串与指针的关系
2.函数指针调用函数
3.指针作函数参数
没有掌握的知识点:
循环语句的使用,指针的调用
请用表格和折线图呈现你本周(3/1913:00~4/5 8:00)的代码行数和时间、博客字数和时间