c语言编程输出1到100之间素数并求和,在线等,急

2024-11-01 16:17:00
推荐回答(1个)
回答1:

#include              //控制台操作头文件
#include                //数学运算头文件(sqt函数)

bool SS(int a)                  //质数判断函数(质数返回1,否则0)
{if(a<2) return false;          //小于2的数都不是质数,返回0
 if(a==2) return true;          //2是特殊的质数 
 int i,n=(int)sqrt(a);          //n是除数,开方可以减少检测个数 
 for(i=2;i<=n;i++)              //逐个检测能不能被整除 
     if(a%i==0) return false;   //如果能被整除说明不是质数, 返回0; 
 return true;}                  //检测完了还没可以被整除的数,返回1 

int main()                            //主函数
{int i,s=0;                           //i是循环变量,s是和
 for(i=1;i<=100;i++)                  //从1-100逐个检测
     if(SS(i))                        //如果是素数
       {printf("%d ",i);              //显示这个素数
        s+=i;}                        //累加和
 printf("\n所有素数和=%d\n",s);       //显示累加结果
 system("PAUSE");                     //暂停
 return 0;}                           //结束