求改错。。。C语言定义函数统计并输出m n之间的素数的个数以及这些素数的和。。。
这是我的答案为什么结果总是0呢。。。#include<stdio.h>intprime(intm);intmain(){intsum=0,count=0,m,n,i;sc...
这是我的答案 为什么结果总是0呢。。。
#include <stdio.h>
int prime (int m);
int main()
{ int sum=0,count=0,m,n,i;
scanf("%d %d",&m,&n);
for(i=m;i<=n;i++)
{
if (prime(i)==1)
{
count++;
sum+=i;
}
}
printf("%d %d",count,sum);
return 0;
}
int prime (int m)
{
int n,i;
for (i=2;i<n/2;i++)
{
if(n%i==0) return 0;
else return 1;
}
}
题目要求:输入2个正整数m和n(m>=1,n<=500),统计并输出m和n之间的素数个数以及这些素数的和。 展开
#include <stdio.h>
int prime (int m);
int main()
{ int sum=0,count=0,m,n,i;
scanf("%d %d",&m,&n);
for(i=m;i<=n;i++)
{
if (prime(i)==1)
{
count++;
sum+=i;
}
}
printf("%d %d",count,sum);
return 0;
}
int prime (int m)
{
int n,i;
for (i=2;i<n/2;i++)
{
if(n%i==0) return 0;
else return 1;
}
}
题目要求:输入2个正整数m和n(m>=1,n<=500),统计并输出m和n之间的素数个数以及这些素数的和。 展开
展开全部
int prime (int m)
{
int n,i;
for (i=2;i<n/2;i++)// 这里的n是多少?你知道全局变量与局部变量的区别吗?
这里的n已经不是你主函数里的n了,在这里是一个未初始化的数据。
还有scanf("%d %d",&m,&n);这里两个%d之间是否有空格?这个会影响你的输入,你要按指定格式输入
你可以改成以下这样试下:
int prime (int m)
{
int i;
for (i=2;i<m/2;i++)
{
if(m%i==0) return 0;
else return 1;
}
{
int n,i;
for (i=2;i<n/2;i++)// 这里的n是多少?你知道全局变量与局部变量的区别吗?
这里的n已经不是你主函数里的n了,在这里是一个未初始化的数据。
还有scanf("%d %d",&m,&n);这里两个%d之间是否有空格?这个会影响你的输入,你要按指定格式输入
你可以改成以下这样试下:
int prime (int m)
{
int i;
for (i=2;i<m/2;i++)
{
if(m%i==0) return 0;
else return 1;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的判断素数的函数有问题
int prime (int m)
{
int n,i;
for (i=2;i<n/2;i++)
{
if(n%i==0) return 0;
else return 1;
}
应该改成:
int prime (int n)
{
int i;
for (i=2;i<n/2;i++)
{
if(n%i==0) return 0;
}
return 1;
}
其他的你自己找
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int prime (int m);
int main() {
int sum = 0,count = 0,m,n,i;
scanf("%d%d",&m,&n);
for(i = m;i <= n;i++) {
if(prime(i)) {
count++;
sum += i;
}
}
printf("%d %d\n",count,sum);
return 0;
}
int prime(int n) {
int i,flag = 1;
if(n < 2) return 0;
for(i = 2; i * i <= n && flag; ++i)
flag = n % 2;
return flag;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
brother__qiang说的对。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
亲,prime()函数中输入参数为m,你是不是忘了用m给n赋值?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询