第二次作业
题目 6-7 删除字符串中数字字符
1.设计思路
(1)第一步:观察题意了解各个参数与所需函数在题目中的意义;
第二步:设计算法编写函数,让函数的功能实现题目中所需的功能;
第三步:运行程序检测是否错误。
(2)流程图
无
2.实验代码
~~~ #include <stdio.h> void splitfloat( float x, int *intpart, float *fracpart ); #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)<='9'&&*(s+i)>='0')) {*(s+j)=*(s+i); j++;} i++;} *(s+j)='\0'; } ~~~
3.本题调试过程碰到问题及解决办法
错误信息1:输入的数字不会被删除
错误原因:条件忘记加单引号
改正方法:加单引号
题目6-9 字符串中除首尾字符外的其余字符按降序排列
1.设计思路
(1)第一步:观察题意了解各个参数与所需函数在题目中的意义;
第二步:设计算法编写函数,让函数的功能实现题目中所需的功能;
第三步:运行程序检测是否错误。
(2)流程图
无
2.实验代码
~~~ #include <stdio.h> int fun(char *s,int num); int main() { char s[]; gets(s); fun(s,); printf("%s",s); return ; } int fun(char *s,int num){ int i,j,k,temp; for(i=;i<num-;i++) { k=i; for(j=i+;j<num-;j++) { if(s[k]<s[j]) { k=j; } } if(k!=i) { temp=s[i];s[i]=s[k];s[k]=temp; } } return ; } ~~~
3.本题调试过程碰到问题及解决办法
错误信息1:无法正确的排序
错误原因:
改正方法:
题目7-1 输出学生成绩
1.设计思路
(1)第一步:观察题意了解各个参数与所需函数在题目中的意义;
第二步:设计算法编写函数,让函数的功能实现题目中所需的功能;
第三步:运行程序检测是否错误。
(2)流程图
无
2.实验代码
~~~ #include <stdio.h> int main() { int N,grade,k,i=; float average,max,min,sum=0.0; float maxy(float x,float y); float miny(float x,float y); scanf("%d",&N); for(k=;k<N;k++) { scanf("%d",&grade); sum=sum+grade; if (i==) { 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 ; } 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.本题调试过程碰到问题及解决办法
错误信息1:无
错误原因:无
改正方法:无