C语言程序:输出 1-100之间全部素数,主函数中输出 ,prime函数中判断素数。。谢谢大神!!

作者&投稿:怀耍 (若有异议请与网页底部的电邮联系)
写一个判别素数的函数prime(),在主函数输入一个整数,判断输出是否是素数。~

这个是C语言的程序。如果你想要C++的程序我可以改一下。 #include
void main()
{
int number;
int prime(int number);
printf("请输入一个正整数:
");
scanf("%d",&number);
if (prime(number))
printf("
%d是素数. ",number);
else
printf("
%d不是素数. ",number);
}int prime(int num) /*此函数用于判别素数*/
{ int flag=1,n;
for(n=2;n<num/2 &&flag == 1;n++)
if (num%n==0)
flag=0;
return(flag);
}

有三种方法:
1、输出1-100以内的素数:

2、同样,也是输出1-100以内的素数,这个构造一个数组,将其所有元素初始化为1,表示素数,这时取x从2开始,到100以内做循环。
若x为素数,即prime[x]!=0,使得每个i*x位置元素置0(prime[i*x]=0),表示为非素数,循环结束前x+1。

3、该方法是输出100个素数,基本思想是构造一个素数表,利用函数判断每个数是否能被其之前的素数整除,如果不能,则在素数表内加上该元素,不断循环(while循环结束条件是cnt即数组个数>100)。

扩展资料:
在这个小程序中主要用到的是for循环
for 循环语句的一般形式为:
for (表达式1; 表达式2; 表达式3)
{
语句;
}
需要注意的两点:
1) 表达式1、表达式2和表达式3之间是用分号;隔开的,千万不要写成逗号。
2) for(表达式1;表达式2;表达式3)的后面千万不要加分号,很多新手都会犯这种错误——会情不自禁地在后面加分号。
因为 for 循环只能控制到其后的一条语句,而在C语言中分号也是一个语句——空语句。所以如果在后面加个分号,那么 for 循环就只能控制到这个分号,下面大括号里面的语句就不属于 for 循环了。

#include <stdio.h>

int prime(int n)

{

    int i;

    if(n<2)

        return 0;

    for(i=2;i*i<=n;++i)

        if(n%i==0)

            return 0;

    return 1;

}

int main()

{

    int i;

    for(i=1;i<100;++i)

        if(prime(i))

            printf("%d ",i);

    return 0;

}




新兴区19747191317: 用C语言编写一个程序,输出1到100中的质数 -
堵临二丁: #include<stdio.h> #include<windows.h> int f(int n) {if(n<2)return 0;<br>int i;<br>for(i=2;i<=n/2;i++)<br>if(n%i==0)<br>return 0;<br>return 1;<br>} int main() {int i;<br>for(i=1;i<=100;i++)<br>if(f(i))<br>printf("%5d",i);<br>system("pause"); <br>}

新兴区19747191317: c语言输出显示1到100之间可以被n整除的所有整数 -
堵临二丁: 1 2 3 4 5 6 7 8 9 10 11 12#include<stdio.h>intmain() {intn,i;scanf("%d",&n);for(i=1;i<=100;i++){if(i%n==0)printf("%d ",i);} }

新兴区19747191317: 请编C语言程序实现:输出1到100之间(包括100)所有能被5整除的数 -
堵临二丁: #include <stdio.h> int main() {int i;for (i=1;i<=100;i++) {if (i%5 == 0) {printf("%d ",i);}}return 0; }

新兴区19747191317: C语言:编写一个程序实现1 - 100内所有数累加,并输出结果 -
堵临二丁: #include main() { int i=1,sum=0; for(;i<=100;i++) sum+=i;//累加 printf("%d\n",sum);//输出结果 }

新兴区19747191317: 输出1 - 100之间的素数还有他们的和,用C语言实现 -
堵临二丁:#include int isprime(int n) {int i;if(n<2)return 0;for(i=2;i*i<=n;++i)if(n%i==0)return 0;return 1; } int main() {int i,sum;for(i=1,sum=0;i<101;++i){if(isprime(i)){printf("%d\n",i);sum+=i;}}printf("%d\n",sum);return 0; }

新兴区19747191317: C语言编程:试编程计算并输出从1到100的整数和. -
堵临二丁: #includevoid main(){ int sum = 0; for(int i = 1; i <= 100; i++) sum = sum + i; printf("和为%d",sum);}

新兴区19747191317: 怎样用c语言循环结构输出1到100之间的素数 -
堵临二丁: 123456789101112131415 #include <stdio.h> intmain() { inti, j; for(i = 2; i < 100; ++i){//2-100控制循环 //判断素制数2113 for(j = 2; j*j <= i; ++j){//2-sqrt(i)循环控制 if(i % j == 0)break;//如果能整5261除,说明不是素数,4102跳出循环 } if(j*j > i){//如果没有能整除的数,说明是素数,输1653出 printf("%d\n", i); } } return0; }

新兴区19747191317: c语言中输出1到100的值怎么做 -
堵临二丁: 用for循环语句for(int i=1;i<=100;i++) {printf(“%d ”,i); }

新兴区19747191317: 求C语言编程:输出1 - 100之间所有的合数 -
堵临二丁: 定义:一个数被1和他本身整除外,还有1个或以上因数的自然数为合数.程序改正如下: #include<stdio.h> void main() {int num,i;for(num=2;num<100;num++){for(i=2;i<num;i++)//注意是i<num,不包括本身num{if(num%i==0){printf("%d\n",num);break;//只要满足一个条件就break}}} } 程序已通过编译测试. 回答完毕,如果觉得回答得好,请采纳为最佳答案.

新兴区19747191317: 编写一个C程序,计算出1到100之间所有素数的和 -
堵临二丁: //输出1到100的所有素数#include <iostream> using namespace std; class CStu { CStu() { } }; int main() { int i, j, t; t = 1; for (i = 2; i < 101; i++) //遍历1-100间的所有数 { for (j = 2; j*j <= i; j++) //考查这些数是否有1和自身以外的因子 { if (i % j == 0) ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网