1. (c语言)求素数和
你s=s+x;
放的位置不对,应该这样放:
#include
void
main()
{
int
x,n=10,i,s=0;
for(x=3;x<=n;x++)
{
for(i=2;i
=x)
{
printf("%d+",x);
s=s+x;
}
}
printf("\b=%d\n",s);
}
补充:
在用外层的for计算下一个的时候,要把内层for判断出来的素数累加起来啊
否则,计算到下一个的时候,前一个就丢了啊
所以,累加的那句代码,应该在外层for循环的里面,内存for循环的外面(后面)啊
2. C语言 素数求和问题
#include "stdio.h"
#include "math.h"
int main(void)
{
int count, i, m, n, sum;
int repeat, ri;
int prime(int m);
scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d %d", &m, &n);
sum = count = 0;
for(i=m;i<=n;i++){
if(prime(i)==1){
sum=sum+i;
count++;}
}
printf("Count=%d,sum=%d\n",count,sum);
}
}
int prime(int m)
{
int i;
if(m==2)return 1;
if(m==1)return 0;
if(m>2){
for(i=2;i<m;i++){
if(m%i==0)
return 0;}
return 1;//你的主要问题在这里,上面的for循环已经限定了i不会大于m的,你再用了一个if(i>=m)就不对了
}
}
3. C语言 统计素数并求和
#include<stdio.h> #include<math.h> int f1(int x); int main() { int n=0,i; for(i=50;i<=100;i++) { if(f1(i)) { printf("%d ",i); n++; if(n%5==0)printf("\n"); } } printf("共有%d个素数\n",n); return 0; } int f1(int x) { int i,z,r; r=(int)sqrt(x); for(i=2;i<=r;i++) { if(x%i==0) break; } if(i>r) z=1; else z=0; return(z); }
4. c语言求素数和
思想很好
但是在内部循环判断之类的出错了
呵呵,内部if(i%j==0) break;这句在你到达j==的判断之前i时就跳出了内部for
下面的sum增加不执行了
呵呵
#include <stdio.h>
int main(void)
{
int i = 1;
int j;
int sum = 0;
while (++i <= 30)
{
j = 1;
while (++j <= i)
{
if (i%j == 0)
{
sum += i;
break;
}
}
}
printf("Sum = %d\n",sum);
return 0;
}
5. c语言:从键盘任意输入一个整数n,编程计算并输出1-n之间的所有素数之和
#include<stdio.h>
int main()
{
int n,i,j,t,l;
int sum=0;
printf("请输入一个大于2的整数:");
scanf("%d",&n);
l=n;
for(;n>=2;n--)
{
for(i=2;i<n;i++)
{
if(n%i!=0)//判断其为素数
t=1;1
else
{
t=2;
break;
}
}
if(t==1)
{
sum+=n;
//printf("%d ",n);//输出1-n之间的所有素数
}
}
printf("1-%d之间的所有素数和为:%d ",l,sum);
return 0;
}
运行效果:
(5)c语言计算素数之和扩展阅读:
以15为例:
因为:1-15之间的素数有13、11、7、5、3、2
所以:13+11+7+5+3+2=41
printf()函数用法:
printf()函数的调用格式为:printf("<格式化字符串>",<参量表>)。
其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。
参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。
6. C语言素数求和 拜托各位高手了!!
voidmain()
{
inti,j,n,sum=0;
scanf("%d",&n);
i=n;//从n开始检查
while(n>0)
{
if(prime(i)!=0)//是素数
{
sum=sum+i;//加上i
n--;//个数减1
}
i++;//取下一个数
}
printf("%d",sum);
}
7. c语言求素数之和的问题
for(i=2;i<=n;i++)你到n干嘛,哪个数不能整除自己,你这么判定没有素数了,全返回0
intpanan(intn)
{
inti;
for(i=2;i<=n;i++)
if(y=n%i0)return0;
returnn;
}
int a[100],i=0,s=0,puanan(int);你这是干嘛,哪有函数被int进去的。。
改成int a[100],i=0,s=0;
for(i=0;i<=99;i++)
{
if(getchar()=='e')break;
scanf("%d",&a[i+1]);
}
这里也不对,你getchar可是要吃字符的,这么写你的数字总是会被吃一位,一定要e结束的话
charc[10];
while(scanf("%s",c),c[0]!='e')
{
s+=panan(atoi(c));//atoi将char转换int
}
printf("%d ",s);
8. C语言求1到100的素数总和
素数只能被1和它本身整除。你的逻辑中只是判断了这个数能不能被1和自己整除(所有数都达到要求),相当于没有判断啊,直接是1加到100
9. 求1到100以内所有素数之和(c语言)
1到100之间的所有素数之和;素数曾称质数。一个大于1的正整数,如果除了1和它本身以外,不能被其它正整数整除,就叫素数。1不是素数。
2+3+5+7+11+13+17+19+23+29+31+37+41+43+47+53+59+61+67+71+73+79+83+89+97=1060,100以内所有素数之和是1060
#include"stdafx.h"
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
int isPrime(int n)//求素数,这是最经典的算法代码。
{
int j;
for(j=2;j*j<=n;j++)
if(n%j==0)
return 0;
return 1;
}
int main(void)
{
int i,sum=0;
for(i=2;i<100;i++)
if(isPrime(i))
{
sum+=i;
printf("%d ",i);
}
printf("%d ",sum);
getchar();
system("pause");
return 0;
}
运算输出:
(9)c语言计算素数之和扩展阅读:
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
10. C语言求范围之内素数的和与个数
按照你的要求编写的C语言程序如下
#include<stdio.h>
int f(int x) //定义判断素数的函数
{
int n,flag=1;
if(x==1) return 0;
for(n=2;n<x;n++)
if(x%n==0)
flag=0;
return flag;
}
int main()
{
int i,N,M,count=0,sum=0;
scanf("%d%d",&N,&M);
for(i=N;i<=M;i++){
if(f(i)==1){
count++;
sum=sum+i;
}
}
printf("%d到%d之间共有%d个素数,它们的和为%d",N,M,count,sum);
return 0;
}