帮我看看程序吧,从键盘输入任意一个整数n,编程计算并输出1~n之间所有素数之和 ,怎么改啊

供稿:hz-xin.com     日期:2025-01-12
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;
}
运行结果:

扩展资料:printf()函数的调用格式为: printf("", )。
其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出; 另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。
参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多, 各参数之间用","分开, 且顺序一一对应,否则将会出现意想不到的错误。
比如:
int a=1234;
printf("a=%d
",a);
输出结果为a=1234。

//没有那么复杂,下面是在你的程序基础上修改的。
#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;
}

主函数这样

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

子函数,你自己改了

帮我看看程序吧,从键盘输入任意一个整数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;} 子函数,你自己改了 ...

编写C语言程序,从键盘上输入一个正整数,计算并输出该数各位数字之和...
int n,m,sum;printf("please input:");scanf("%d",&m);for(sum=0;m;m=m\/10){ n=m%10;sum=sum+n;} printf("sum is %d",sum);} 大概想了下思路,你看看吧,不知道对错

C++编写一个程序,要求用户输入一连串的数字和任意空格(作为分隔符...
include <stdio.h>int main() {int num = 0,sum = 0;char ch;while((ch = getchar()) != '\\n') {if(ch >= '0' && ch <= '9') num = 10 * num + ch - '0';if(ch == ' ') {sum += num;num = 0;}}printf("sum = %d\\n",sum + num);return 0;} ...

让一个程序无限循环,但是当你输入一个字符时就结束循环的语句_百度知 ...
先把思路告诉你,写一个循环,不断接受用户输入,只要用户输入6就退出循环。我就简单的写一下,具体的还得根据你的整个程序的要求来。include <stdio.h>void main(){ while (getchar() != '6') { }} 希望能帮到你,谢谢,满意的话就采纳吧 ...

C++编写一个程序,要求用户输入一连串的数字和任意空格(作为分隔符...
include "stdio.h"int main(){int d;int sum;int i,j;sum=0;while(scanf("%d",&d)!=0)\/\/可输入数字和空格、回车、跳格,否则结束循环 {sum+=d;}printf("%d",sum);}

C语言:任意输入一个自然数,输出该自然数的各位数字组成的最大数。例 ...
intmain(intargc,char**argv){ charch;intarr[10]={0};ﻩﻩ//存储各个数字出现的次数,初始化为0 //统计各个数字出现的次数 while(1){ ch=getchar();if(ch=='\n'){ break;} arr[ch-'0']++;} inti,j;//输出各个数字出现的...

从键盘输入一个串从键盘输入一个小于1000的正数
关于从键盘输入一个串,从键盘输入一个小于1000的正数这个很多人还不知道,今天来为大家解答以上的问题,现在让我们一起来看看吧!1、scanf("%d",&x); 是有格式输入。2、如果写成 scanf("x=%d",&x); 那么输入时就要有x=,例如: x=144scanf("%d",&x); 输入时拍入 144---为什么...

用java程序编写从键盘上输入一个字符串和一个字符,从该字符串中删除给定...
import java.io.InputStreamReader;public class Java196148026 { public static void main(String[] args) { BufferedReader br = new BufferedReader(new InputStreamReader(System.in));String str, charStr;try { str = br.readLine();charStr = br.readLine();System.out.println(str.replace(...

C程序中为何输入任意数,输出结果都一样??
我这可以 可能是编辑器的问题吧 我用的是c-free 5.0 还有就是在你使用 += 来表达 sum1=sum1+ 的时候一定要给 sum1初始化。

编写一个C++程序,使输入一个数,能判断它是几位数
int iInput ;int iCount = 0 ;do{ iCount++ ; iInput \/= 10 ;while( iInput > 0 ) ;位数 = iCount ;