c语言的问题,c语言程序设计判断素数输入两个素数m,n,(m>=1),n<=500)

c语言程序设计判断素数输入两个素数m,n,(m>=1),n<=500)输出(m,n)之间的所有素数个数和他们的和。
我的程序不完整且有问题,请问应怎么改?#include <stdio.h>
int prime(int k);
int main (void){
int m,n,k,sum,count;
sum=0;
count=0;
scanf("%d\n",&m);
scanf("%d\n",&n);

for(k=m;k++;k<=n)
if(prime (k)!=0){
count++;
sum+=k;

}

printf("count=%d,sum=%d",count,sum);
}
int prime(int k){
int i,a;
for(i=2;i<=k;i++)
if(k%i!=0){
a=1;break;
}else a=0 ;
return(a);
}

这代码写得太离谱了,不好改,重写如下:

#include "stdio.h"
int prime(int n){//判断素数
int i;
if(n>2 && !(n&1) || n<2)
return 0;
for(i=3;i*i<=n;i+=2)
if(!(n%i))
return 0;
return 1;
}
int main(int argc,char *argv[]){
int m,n,sum,t,c;
printf("Enter m & n(int m>0 and n<=500 and m<=n)...\n");
if(scanf("%d%d",&m,&n)!=2 || m<1 || n>500 || n<m){
printf("Input error, exit...\n");
return 0;
}
for(c=m,t=sum=0;m<=n;m++)
if(prime(m))
t++,sum+=m;
printf("There is(are) %d primes between %d~%d\n",t,c,n);
printf("The sum of them is %d\n",sum);
  return 0;
}

运行样例:

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-08-10

#include <stdio.h>
int prime(int k); 
int main (void){
int m,n,k,sum,count;
sum=0;
count=0;
scanf("%d%d",&m,&n);

for(k=m;k<=n;k++)
if(prime (k)!=0){
count++;
sum+=k;



printf("count=%d,sum=%d",count,sum);
}
int prime(int k){
int i,a=k>1;
for(i=2;i<k;i++)
if(k%i==0){
a=0;break;
};
return(a);
}

本回答被提问者采纳

...问题描述】输入2个正整数m和n(m>1,n<=500),统计并输出m和n_百度...
include<stdio.h>int prime(int m) { int i,r; r=1; for ( i=2;i<=m\/2;i++ ) if ( m%i==0 ) {r=0;break;} return r;}void main() { int m,n,i,k,s; scanf("%d,%d",&m,&n); k=s=0; for ( i=m;i<=n;i++ ) if ( prime(i) ) { k++; s+=...

C语言:输入2个正整数m和n(m>=1,n<=500),输出m和n之间的所有素数,每行输...
用count计数,当count%6==0时输出换行就行了

输入2个正整数m和n(m>=1,n<=500),输出m和n之间的所有素数,每行输出6个...
int x,y,n=-1;\/\/定义m,n值,和分行值 while(1)\/\/输入不符合条件时,重新运行 { printf ("输入区间首位:\\n");scanf ("%d", &x); \/\/ 输入 if(x>=1&&x<=500 )\/\/当满足条件,则执行以下 { while(1)\/\/输入不符合条件时,重新运行 { printf ("输入区间末位:\\n");scanf ("%d...

输入2 个正整数m和n(1<=m,n<=500),统计并输出m 和n之间的素数的个数...
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>in...

如何用C语言编程判断素数
1、首先打开编辑器软件,在里面新的C语言文件里引入头文件并输入主函数,在主函数中输入代码:2、然后写入判断素数的逻辑,这里先引入一个scanf函数,接受用户输入的数值存入变量,对接收的变量判断其是否为素数,判断的依据是如果能被2到n-1中的某个数整除就是素数,否则就不是。最后把判断的结果打印...

用C语言如何判断素数
按照如下步骤即可用C语言判断素数:1、首先打开visual C++ 6.0,然后点击左上角的文件,再点击新建。2、然后在弹出的新建对话框中点击C++Source File。3、在新建的文件文本框中输入预处理命令和主函数,即函数头和空类型。4、然后再定义变量并输入一个数字,即定义变量的数据类型,输出文字提示,再输入...

C语言如何判断素数?
根据素数定义,除了1和本身不存在其它约数的正整数为素数。所以在C语言中判断n是否为素数可以从2开始到到n-1逐一尝试,如果可以整除说明不是素数。更进一步,可以从2判断到n\/2或者n的算术平方根,如果不存在约数,那么即为素数。除此以外,判断素数的算法还有素数筛等。2、判断素数的函数:以遍历判断...

输入两个正整数m和n(1《=m,n《=500),统计并输出m和n之间的素数的个数...
main(){ int m,n,sum=0,count=0,i,j;scanf("%d%d",&m,&n);for(i=m;i<=n;i++){ for(j=2;j<i;j++)if(i%j)break;if(j<i){ count++;sum+=i;} } printf("%d,%d\n",count,sum);} 有什么问题请留言。

C语言判断素数
要了解C语言如何判断一个数是否为素数,首先明白素数定义:大于1的自然数,只能被1和它本身整除,不能被其他自然数整除。接下来,我们将通过一个C语言程序来实现这个功能:<?php function isPrime($n) { if ($n <= 1) { return false; \/\/ 1不是素数 } flag = true; \/\/ 假设n是素数 for ...

c语言判断素数
素数是只能被1和它本身整除的正整数。要判断一个数是否为素数,可以使用试除法:从2到该数的平方根之间依次试除,如能整除,则非素数;否则是素数。以下是C语言实现判断素数的代码:c include include int isPrime(int n) { if (n < 2) return 0; \/\/ 小于2的数不是素数 int i;for (i = ...

相似回答
大家正在搜