从键盘任意输入任意一个整数n(n>1),编程计算并输出1~n之间的所有素数之和S?

供稿:hz-xin.com     日期:2025-01-13
c语言:从键盘任意输入一个整数n,编程计算并输出1-n之间的所有素数之和

#include
#include
int prime(int x){
int i;
for(i=2;i<=(int)sqrt(x);i++)
if(x%i==0)
return 0;
return 1;
}
void main(){
int n,i,j,sum=2;
printf("n=
");
scanf("%d",&n);
printf("小于等于%d的素数
",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("
");
}
printf("
和为%d",sum);
printf("
");
}

扩展资料:
c语言书写规则:
1.一个说明或一个语句占一行。
2.用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。
3.低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。
参考资料:
百度百科-c语言

#include
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;
else
{
t=2;
break;
}
}
if(t==1)
{
sum+=n;
//printf("%d",n);//输出1-n之间的所有素数
}
}
printf("1-%d之间的所有素数和为:%d
",l,sum);
return 0;
}
运行如下:

以15为例:
因为:1-15之间的素数有13、11、7、5、3、2
所以:13+11+7+5+3+2=41

扩展资料:用法:
1、printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。
格式输出,它是c语言中产生格式化输出的函数(在stdio.h中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。
要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
简单点理解就是,在一段程序中你正确使用该函数,可以在该程序运行的时候输出你所需要的内容。
2、printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。
printf()函数的调用格式为:printf("",)。
其中格式化字符串用于指定输出格式。格式控制串可由格式字符串和非格式字符串两种组成。

#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;    

else

{

t=2; 

break;

}

}

if(t==1)

{

sum+=n;

//printf("%d ",n);//输出1-n之间的所有素数

}

}

printf("1-%d之间的所有素数和为:%d
",l,sum); 

return 0;

}

运行结果:

扩展资料:

printf()函数的调用格式为: printf("<格式化字符串>", <参量表>)。

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

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

比如:

int a=1234;

printf("a=%d
",a); 

输出结果为a=1234。



//要用子函数求和的话,就要用到vector了,应该是可以不用子函数求和的
#include <iostream>
#include <vector>
using namespace std;

bool isprime(int n)
{
for (int i = 2; i <= (int)(n / 2); i++)
{
if (n % i == 0)
{
return false;
}
}

return true;
}

int sum1(vector<int> &arr)
{
int length = arr.size();
int result = 0;
for (int i = 0; i < length; i++)
{
result += arr[i];
}

return result;
}

int main(void)
{
int num;
cout << "请输入一个整数:";
cin >> num;
vector<int> arr;

for (int i = 2; i < num; i++)
{
if (isprime(i))
{
arr.push_back(i);
}
}

int sum = sum1(arr);
cout << "结果是" << sum << endl;

return 0;
}

从键盘任意输入一个正整数n(n<10),求fac=n!并输出fac的值
int main() { int n, fac = 1;printf("请输入一个正整数n(n<10):\\n");scanf("%d", &n);for (int i = 1; i <= n; i++) { fac *= i;} printf("fac = %d\\n", fac);return 0;} 这里使用scanf函数从键盘输入一个正整数n,然后使用循环计算n的阶乘fac。循环中,从1到n...

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

从键盘上任意输入一个整数n,编程计算并输出1~n之间的所有素数及所有素数...
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之间的...

从键盘任意输入一个整数n,编程计算并输出1~n之间的所有素数之和 我编...
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;else { t=2;break;} } if(t==1){ sum+=n;\/\/printf("%d",n);\/\/输出1-n之间的所有素...

python 从键盘任意输入一个正整数n,并找出大于n的最小素数,这个程序怎 ...
n)+2, 2): if n % i == 0: return False return True def main(): m = n = int(input('请输入一个正整数')) while True: n += 1 if is_prime(n): print(f'大于{m}的最小素数是{n}') return if __name__ == '__main__': mai...

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×2×3×……×n
include<stdio.h>void main(){ int n,i,sum=1; printf("input n:"); scanf("%d",&n); for(i=1;i<=n;i++) sum*=i; printf("sum=%d\\n",sum);}

帮我看看程序吧,从键盘输入任意一个整数n,编程计算并输出1~n之间所有...
主函数这样 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;} 子函数,你自己改了 ...

从键盘输入任意一个大于等于 0 的整数 n,然后计算 n 的阶乘,并把它 输...
参考代码如下:include<stdio.h> double getResult(int n){ if(n<=1)return 1;return getResult(n-1)*n;} int main(){ int n;scanf("%d",&n);printf("%d!=%.0lf",n,getResult(n));}

编写程序,从键盘输入一个正整数n,n<=15,求n!并输出
include<stdio.h> int main(){ int n;scanf("%d",&n);int sum=n;while(--n)sum*=n;return !printf("%d\\n",sum);}