第二次作业
1.设计思路
(1)删除一个字符串中的所有数字字符
2.实验代码
delnum(char *s) { char a[80]={0}; int i=0,j=0; while(*(s+i)) { if(!(*(s+i)<='9'&&*(s+i)>='0')) a[j++]=*(s+i); i++; } i=0; while(a[i++]) *(s+i)=a[i]; *(s+i-1)='\0'; }
fun(char *str,char *substr) { int n=0; while(*(str)) { if(strncmp(str,substr,3)==0) { n++; } str+=1; } return n; }
fun(char *s,int num) { int i,j; char a = *(s+num-1); *(s+num-1)='\0'; for(i=0; i<num; i++) { for(j=1; j<num-i; j++) { if(*(s+j)<*(s+j+1)) { char temp; temp=*(s+j+1); *(s+j+1)=*(s+j); *(s+j)=temp; }}} *(s+num-1)=a; }
#include <stdio.h> float miny(float x,float y); float maxy(float x,float y); int main() { int N,grade,k,i=1; float average,max,min,sum=0.0; scanf("%d",&N); for(k=0; k<N; k++) { scanf("%d",&grade); 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); }
3.本题调试过程碰到问题及解决办法
分不清指针和变量的关系,函数调用和说明部分。