
帮我看看程序吧,从键盘输入任意一个整数n,编程计算并输出1~n之间所有素数之和 ,怎么改啊
#include<stdio.h>#include<stdlib.h>intprime(inti,intn);intmain(){intsum=0;intret;intb...
#include <stdio.h>
#include <stdlib.h>
int prime(int i,int n );
int main()
{
int sum = 0;
int ret;
int b;
int i = 0;
int n;
printf("Please input a number");
scanf("%d",&n);
ret = prime (i,n);
for (i = 3;i <= n;i++)
{
if (ret == 1)
{
b = i;
}
else
{
b = 0;
}
}
sum = sum + b;
if (ret == 0)
{
b = 0;
}
else
{
b = prime(i,n);
}
sum = sum + b;
printf("The final sum is %d",sum);
printf("program is over");
return 0;
}
int prime(int i,int n)
{
int j;
int a ;
if (n <2)
{
printf("It's not a prime.");
}
if (n == 2)
{
return 2;
}
else
{
for (i = 3;i <= n;i++)
{
for (j = 2;j < n ;j++)
{
a = i % j;
if (a != 0)
{
return i;
}
else
{
return 0;
}
}
}
return i;
}
} 展开
#include <stdlib.h>
int prime(int i,int n );
int main()
{
int sum = 0;
int ret;
int b;
int i = 0;
int n;
printf("Please input a number");
scanf("%d",&n);
ret = prime (i,n);
for (i = 3;i <= n;i++)
{
if (ret == 1)
{
b = i;
}
else
{
b = 0;
}
}
sum = sum + b;
if (ret == 0)
{
b = 0;
}
else
{
b = prime(i,n);
}
sum = sum + b;
printf("The final sum is %d",sum);
printf("program is over");
return 0;
}
int prime(int i,int n)
{
int j;
int a ;
if (n <2)
{
printf("It's not a prime.");
}
if (n == 2)
{
return 2;
}
else
{
for (i = 3;i <= n;i++)
{
for (j = 2;j < n ;j++)
{
a = i % j;
if (a != 0)
{
return i;
}
else
{
return 0;
}
}
}
return i;
}
} 展开
2个回答
展开全部
//没有那么复杂,下面是在你的程序基础上修改的。
#include <stdio.h>
#include <stdlib.h>
int prime(int n); //判断素数,是返回1,否则返回0.
int main()
{
int sum = 0;
int ret;
int i = 0;
int n;
printf("Please input a number");
scanf("%d",&n);
for (i = 1;i <= n;i++)
{
ret = prime(i);
if (ret == 1)
{
sum +=i; //求和。
}
}
printf("The final sum is %d",sum);
printf("program is over");
return 0;
}
int prime(int n)
{
int j;
int a;
if (n <2)
{
return 0;
}
if (n == 2)
{
return 1;
}
else
{
for (j = 2;j < n ;j++)
{
a = n % j;
if(a==0)
{
return 0;
}
}
}
return 1;
}
#include <stdio.h>
#include <stdlib.h>
int prime(int n); //判断素数,是返回1,否则返回0.
int main()
{
int sum = 0;
int ret;
int i = 0;
int n;
printf("Please input a number");
scanf("%d",&n);
for (i = 1;i <= n;i++)
{
ret = prime(i);
if (ret == 1)
{
sum +=i; //求和。
}
}
printf("The final sum is %d",sum);
printf("program is over");
return 0;
}
int prime(int n)
{
int j;
int a;
if (n <2)
{
return 0;
}
if (n == 2)
{
return 1;
}
else
{
for (j = 2;j < n ;j++)
{
a = n % j;
if(a==0)
{
return 0;
}
}
}
return 1;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?

2023-06-12 广告
单片机汇编程序是用汇编语言编写的程序,用于控制单片机的操作。汇编语言是一种比较接近计算机硬件语言的低级语言,相对于高级语言来说更容易理解和实现。下面是单片机汇编程序的基本步骤:1. 将代码和数据汇编到规定的段中。2. 在存储器中用未初始化的...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
主函数这样
int main(){
int sum = 0;
int i;
int n;
printf("Please input a number:");
scanf("%d", &n);
for (i = 1;i <= n;i++){
if ( IsPrime(i) ){
sum += i;
}
}
printf("The final sum is %d, program is over.", sum);
return 0;
}
子函数,你自己改了
int main(){
int sum = 0;
int i;
int n;
printf("Please input a number:");
scanf("%d", &n);
for (i = 1;i <= n;i++){
if ( IsPrime(i) ){
sum += i;
}
}
printf("The final sum is %d, program is over.", sum);
return 0;
}
子函数,你自己改了
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询