从键盘任意输入一个整数n,编程计算并输出1~n之间的所有素数之和 我编的这个程序怎么错了(C语言) 10
main()
{
int n,sum=0,i,m=0,j;
printf("Input n:");
scanf("%d",&n);
if(n==1) sum=0;
else if(n==2) sum=2;
else {
for(i=3;i<=n;i++){
for(j=2;j<i;j++){
if(i%j==0) m++;
}
if(m==0) sum=sum+i;
}
sum=sum+2;
}
printf("sum = %d\n",sum);
} 展开
#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\n",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>
main()
{
int n,sum=0,i,m=0,j;
printf("Input n:");
scanf("%d",&n);
if(n==1) sum=0;
else if(n==2) sum=2;
else {
sum=2;
for(i=3;i<=n;i+=2){
m=1;
for(j=2;j<i;j++){
if(i%j==0) {m=0;break;}
}
if(m) sum=sum+i;
}
}
printf("sum = %d\n",sum);
}