心得:刚拿到题目我在想这个程序需要用循环嵌套实现,可是发现题目要求调用函数prime(m),要用函数实现素数的判断。程序一开始有错误,我发现函数声明的时候我把分号丢了,再一次让我区分了函数定义和函数声明的区别。程序编写过程中最大的问题就是对所学的内容还是不够熟悉,还需要熟悉函数的程序设计步骤,课下还需要多加练习巩固。
#include<stdio.h>
#include<math.h>int prime(int m);int main(void){ int t,m,n,count,sum; printf("Enter m,n(1<=m,n<=500):\n"); scanf("%d%d",&m,&n); for(count=0,sum=0;m<=n;m++){ if (prime(m)!=0){ count++; sum=sum+m;} } printf("count=%d,sum=%d\n",count,sum); return 0;} int prime(int m) { int t,s; if(m==1)return 0; s=sqrt(m); for(t=2;t<=s;t++) if(m%t==0) { return 0; } return 1;}