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\n",l,sum); 

return 0;

}

运行效果:

扩展资料:

以15为例:

因为:1-15之间的素数有13、11、7、5、3、2

所以:13+11+7+5+3+2=41

printf()函数用法:

printf()函数的调用格式为:printf("&lt;格式化字符串&gt;",&lt;参量表&gt;)。

其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。

参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-08-21
# include <stdio.h>
int SumPrime(int n)
{
    int i;
    int k;
    int sum=0;
    for(i=2;i<=n;++i )
    {
        for(k=2;k<i;++k)
        {
            if(i%k==0)
                break;
        }
     if(k == i) sum+= k;
    }
    return sum;
}
int main (void)
{
    int n;
    int sum;
    printf("please enter a number:");
    scanf("%d",&n);
    sum=SumPrime(n);
    printf("sum = %d\n",sum);
 
    return 0;
}

本回答被网友采纳

c语言:从键盘任意输入一个整数n,编程计算并输出1-n之间的所有素数之和...
return 1;} void main(){ int n,i,j,sum=2;printf("n=\\n");scanf("%d",&n);printf("小于等于%d的素数\\n",n);if(n>2){ printf("%4d",2);j++;} for(i=3;i<=n;i+=2)if(prime(i)==1){ printf("%4d",i);sum=sum+i;if(j!=0 && ++j%10==0)printf("\\n");} ...

从键盘任意输入一个整数n,编程计算并输出1~n之间的所有素数之和 我编...
sum+=n;\/\/printf("%d",n);\/\/输出1-n之间的所有素数 } } printf("1-%d之间的所有素数和为:%d\\n",l,sum);return 0;} 运行如下:以15为例:因为:1-15之间的素数有13、11、7、5、3、2 所以:13+11+7+5+3+2=41

C语言求助 从键盘输入任意一个整数n
要解决的问题是编写一个C语言程序,该程序可以从键盘输入任意一个整数n,并计算从1到n之间的所有素数之和。首先,需要包含头文件stdio.h和math.h。stdio.h提供输入输出功能,math.h提供数学函数。定义一个函数ss(int n),用于检查n是否为素数。如果是素数则返回1,否则返回0。素数的定义是只有1和它...

输入一个整数n,编程计算并输出1到n之间的所有素输之和
include<stdio.h>void main() { int n,i,j,b,s; scanf("%d",&n); for ( i=1,s=0;i<=n;i++ ) { for ( j=2,b=1;j<=i\/2;j++ ) if ( i%j==0 ) { b=0; break; } if ( b ) s+=i; } printf("%d\\n",s);} ...

从键盘上输入任意一个整数n,计算1到n的和。 输入 从键盘输入任意整数n...
include <stdio.h> void main(){ int n;printf("请输入一个整数n=");scanf("%d",&n);int i=1;int sum=0;while(i<=n){ sum=sum+i;i++;} printf("从1到%d的和为%d\\n",n,sum);} 已经调试,成功输出,请采纳 有图有真相 ...

...编程计算并输出1~n之间的所有素数之和S.要求判断素数和求和分别...
include<math.h> int s=0;void sum1(int n){s+=n;} int isprime(int n){int i;for(i=2;i<=sqrt(n);i++)if(n%i==0)return 0;sum1(n);} int main(){int i,n;scanf("%d",&n);for(i=2;i<=n;i++)isprime(i);printf("1~%d之间所有素数的和=%d ",n,s);return 0...

编程c++输入一个整数n,输出1—n之间所有奇数的和。
intsum=0;printf("请输入一个大于2的整数:");scanf("%d",&n);l=n;for(;n>=2;n--){ for(i=2;i<n;i++){ if(n%i!=0)\/\/判断其为素数 t=1;else { t=2;break;} } if(t==1){ sum+=n;\/\/printf("%d",n);\/\/输出1-n之间的所有素数 } } printf("1-%d之间的所有素数...

使用函数调用从键盘输入一个整数n,并输出1-n所有素数!
以下是这种算法的C++程序实现:include <deque>#include <iostream>using namespace std;void output_prime(unsigned n){deque<bool> is_prime(n + 1, true);\/\/删除所有大于2的偶数for (unsigned i = 4; i <= n; i += 2) is_prime[i] = false;for (unsigned i = 3; i <= n \/ ...

C语言求1到n所有质数
include<stdio.h> int main(){ int i,j,n,m;scanf("%d",&n);for(m=0;n;n\/=10)m=m*10+n%10;if(m>1)printf("2 ");for(i=3; i<=m; i+=2){ for(j=3;j*j<=i;j+=2)if(i%j==0)j=i;if(j*j>i)printf("%d ",i);} return 0;} ...

c语言输入一个正整数N和N个正整数,统计素数的和
,sum=0;int p[10000]={0};scanf("%d",&n);for(i=0;i<n;i++){scanf("%d",&a[i]);if (a[i]>max) max=a[i];}for(i=2;i<=max;i++){if (p[i]) continue;j=2;while (i*j<=max) {p[i*j]=1;j++;}} \/\/用筛选法筛选出素数。p[0]=1;p[1]=1;for(...

相似回答