? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 心得體會
該題主要涉及知識點有·:1、函數的定義;2、函數的調用(即prime函數的調用);3、素數的判斷;4、大小排序。
看到題時我首先想到了嵌套循環,可是仔細一看題目要求的是用prime函數的調用;寫程序的過程中讓我再一次鞏固了我對函數定義、函數的調用的理解。寫程序時誤把形參表寫錯了,導致程序不能運行,經過一次次驗證終于將程序完整寫出。
#include<stdio.h>
#include<math.h>
int prime(int x);
int main(void)
{
? ? int count,sum,x,m,n,t;
??? printf("Exter m,n(1<=m,n<=500):");
??? scanf("%d%d",&m,&n);
??? if(m<=n)
? ? {t=m;m=n;n=t;}
? ? if(m>=n)
? ? {t=m;m=n;n=t;}?
? ? count=0;sum=0;
? ? for(x=m;x<=n;x++){
? ? ? if(prime(x)!=0){
? ? ? ? count++;
? ? ? ? sum=sum+x;
? ? ? ? printf("%6d",x);
? ? ? ? if(count%10==0) printf("\n");
? ? ? ? printf("count=%d,sum=%d\n",count,sum);
? ? ? }??
?
?? }?
??? printf("count=%d,sum=%d\n",count,sum);
?return 0;
}
??? int prime(int x)
{
? ? int j;
? ? double y;
??? if(x==1) return 0;
??? y=sqrt(x);
??? for(j=2;j<=y;j++)
? ? ? if(x%j==0){
????? return 0;
? ? }
?return x;
}