题目 6-7 删除字符串中数字字符
1.设计思路
第一步:观察题意了解各个参数与所需函数在题目中的意义;
第二步:设计算法编写函数,让函数的功能实现题目中所需的功能;
第三步:运行程序检测是否错误。
2.实验代码
void delnum(char *s) { int i=0,j=0; while(*(s+i)!=‘\0‘) {if(!(*(s+i)<=‘9‘&&*(s+i)>=‘0‘)) {*(s+j)=*(s+i); j++;} i++;} *(s+j)=‘\0‘; }
题目6-8 统计子串在母串出现的次数
1 设计思路
第一步:观察题意了解各个参数与所需函数在题目中的意义;
第二步:设计算法编写函数,让函数的功能实现题目中所需的功能;
第三步:运行程序检测是否错误。
2.实验代码
int fun(char *str,char *substr) { int i,j,k,num=0; for(i=0;*(str+i);i++) for(j=i,k=0;*(substr+k)==*(str+j);k++,j++) if(*(substr+k+1)==‘\0‘) { num++; break; } return(num); }
题目6-9 字符串中除首尾字符外的其余字符按降序排列
1.设计思路
第一步:观察题意了解各个参数与所需函数在题目中的意义;
第二步:设计算法编写函数,让函数的功能实现题目中所需的功能;
第三步:运行程序检测是否错误。
2.实验代码
int fun(char *s,int num){ int i,j,k,temp; for(i=1;i<num-2;i++) { k=i; for(j=i+1;j<num-1;j++) { if(s[k]<s[j]) { k=j; } } if(k!=i) { temp=s[i];s[i]=s[k];s[k]=temp; } } return 0; }
题目7-1 输出学生成绩
1.设计思路
第一步:观察题意了解各个参数与所需函数在题目中的意义;
第二步:设计算法编写函数,让函数的功能实现题目中所需的功能;
第三步:运行程序检测是否错误。
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; } float maxy(float x,float y) { float z; if(x>y) z=x; else z=y; return(z); } float miny(float x,float y) { float z; if(x<y) z=x; else z=y; return(z); }