输入2 个正整数m和n(1<=m,n<=500),统计并输出m 和n之间的素数的个数以及这些素数的和
#include<stdio.h>voidmain(){intm,n,i;intflag,count,sum;intprime(intm,intn);printf("请输...
#include<stdio.h>
void main()
{
int m,n,i;
int flag,count,sum;
int prime(int m,int n);
printf("请输入两个正整数m和n(1<=m<=n<=500):");
scanf("%d%d",&m,&n);
sum=0,count=0;
for(i=m;i<=n;i++){
flag=prime(m,n);
if(flag=1){
sum=sum+i;
count=count+1;
}
}
printf("%d到%d之间的素数个数=%d,素数和=%d\n",m,n,count,sum);
}
int prime(int m,int n)
{
int i,flag=1;
for(i=2;i<=(m+n)/2;i++){
if(m%i==0)
{flag=0;break;}
}
return flag;
}
运行总是求m到n的和,各位大神,应该怎么做?C语言基础编程题 展开
void main()
{
int m,n,i;
int flag,count,sum;
int prime(int m,int n);
printf("请输入两个正整数m和n(1<=m<=n<=500):");
scanf("%d%d",&m,&n);
sum=0,count=0;
for(i=m;i<=n;i++){
flag=prime(m,n);
if(flag=1){
sum=sum+i;
count=count+1;
}
}
printf("%d到%d之间的素数个数=%d,素数和=%d\n",m,n,count,sum);
}
int prime(int m,int n)
{
int i,flag=1;
for(i=2;i<=(m+n)/2;i++){
if(m%i==0)
{flag=0;break;}
}
return flag;
}
运行总是求m到n的和,各位大神,应该怎么做?C语言基础编程题 展开
1个回答
展开全部
#include <stdio.h>
int IsPrime(int i){
int j=0;
for(j=2;j<i;j++){
if(0==(i%j)){
return 0;
}
}return 1;
}
void main(){
int m,n,i;scanf("%d %d",&m,&n);
for(i=m+1;i<n;i++)
if(IsPrime(i)==1)
printf("%d ",i);
}
#include <stdio.h>
int IsPrime(int i){
int j;
for(j=2;j<i;j++){
if(0==(i%j)){
return 0;
}
}return 1;
}
void main(){
int m,n,i,sum=0;scanf("%d %d",&m,&n);
for(i=m+1;i<n;i++){
if(IsPrime(i)==1){
printf("%d ",i);
sum+=i;
}
}
printf("\ntheir sum is:%d\n",sum);
}
#include <stdio.h>
int IsPrime(int i){
int j;
for(j=2;j<i;j++){
if(0==(i%j)){
return 0;
}
}return 1;
}
void main(){
int m,n,i,sum=0,cnt=0;scanf("%d %d",&m,&n);
for(i=m+1;i<n;i++){
if(IsPrime(i)==1){
printf("%d ",i);
sum+=i;
cnt++;
}
}
printf("\nTotally %d prime numbers,their sum is %d\n",cnt,sum);
}
想要哪个随便选
追问
你好,首先要感谢你,你的方法是简单易懂,但我想知道我的思路错在哪里。。。想了好久
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询