从键盘上输入一个正整数(要求大于 30 小于 100),将所有大于 1 小于该数的素数求 和,并计算素数的个数,最后把和及个数输出
#include <stdio.h>
int prime(int n)
{
int i;
if(n<2) return 0;
for(i=2;i<n;i++)
{
if(n%i==0)
return 0;
}
return 1;
}
int main()
{
int i,n;
int cnt=0,sum=0;
while(1)
{
printf("请输入大于30小于100的整数:");
scanf("%d",&n);
if(n>30 && n<100)
break;
}
for (i=1;i<=n;i++)
{
if(prime(i))
{
cnt++;
sum += i;
}
}
printf("count=%d,sum=%d",cnt,sum);
return 0;
}
#include "stdio.h"
int main()
{
int n,i,j,sum=0,flag,cnt=0;
int a[100];
scanf("%d",&n);
if(n<30 || n>100){
printf("n必须在30~100之间");
return 0;
}
for(i=3;i<n;i++){
flag = 0;//默认i是素数
for(j=2;j<i;j++){
if(i % j == 0){
flag = 1;//表示i不是素数
break;
}
}
if(flag==0 ){ //flag=0表示i是素数
cnt++;
sum+=i;
printf("%d\t",i);
}
}
printf("\n素数的和是:%d,素数的个数是:%d",sum,cnt);
}