6-7 删除字符串中数字字符
1.设计思路
(1)
第一步:审题,读懂题中参数意义
第二部:理清思路,将函数补全
第三部:反复设计改进函数
(2)流程图
略
2.实验代码
#include "stdio.h" void delnum(char *s) { char *t=s; while(*t) if((*t>='0')&&(*t<='9')) t++; else *s++=*t++; *s='\0'; } int main () { char item[80]; gets(item); delnum(item); printf("%s\n",item); return 0; }
3.本题调试过程中碰到的问题及解决办法
错误原因1:无
改正方法:无
git地址:https://git.coding.net/baoliwang/diercizuoye.git
6-8 统计子串在母串出现的次数
1.设计思路
(1)
第一步:根据题意和所给函数判断问题所考知识点
第二部:理清思路,设计函数
(2)流程图
略
2.实验代码
#include<stdio.h> int fun(char *str,char *substr) { int t=0,i; for(i=0;i<81;i++) { if((str[i]==substr[0])&& (str[i+1]==substr[1])&&(str[i+2]==substr[2])) t++; } return t; } int main() { char str[81]="asdasasdfgasdaszx67asdmklo",substr[4]="asd"; int n; n=fun(str,substr); printf("n=%d\n",n); return 0; }
3.本题调试过程中碰到的问题及解决办法
错误原因1:无
解决办法:无
git地址:https://git.coding.net/baoliwang/diercizuoye6.8.git
6-9 字符串中除首尾字符外的其余字符按降序排列
1.设计思路
(1)
第一步:审题,阅读题目要求
第二步:构建函数
(2)流程图
略
2.实验代码
#include <stdio.h> int fun(char *s,int num) { int i,k,j; char t; for(i=1;i<num-1;i++) { for(j=i+1;j<num-1;j++) if(s[i]<s[j]) { t=s[i]; s[i]=s[j]; s[j]=t; }} } int main() { char s[10]; gets(s); fun(s,7); printf("%s",s); return 0; }
3.本题调试过程中碰到的问题及解决办法
错误原因1:运行超时
改正方法:错误改正:关于字符串长度统计函数使用时必须包含string.h头文件
git地址:https://git.coding.net/baoliwang/diercizuoye6.9.git
7-1 输出学生成绩
1.设计思路
(1)
第一步:根据题意,理清思路
第二步:设计函数
(2)流程图
略
2.实验代码
#include <stdio.h> int main() { int N,grade,k,i=1; float average,max,min,sum=0.0; float maxy(float x,float y); float miny(float x,float y); scanf("%d",&N); for(k=0;k<N;k++) { scanf("%d",&grade); sum=sum+grade; if (i==1) { max=grade; min=grade; i--; } max=maxy(max,grade); min=miny(min,grade); } average=sum/N; printf("average = %.2f\nmax = %.2f\nmin = %.2f",average,max,min); return 0; }
3.本题调试过程中碰到的问题及解题方法
错误原因1:指针用法不够熟练
改正方法:同学指导