c语言,输出1-100之间的所有素数,运用自定义函数!用循环来写。

如题所述

看代码:

#include <stdio.h>
#include <math.h>
// 判断是否是素数,是的话返回 1,不是返回 0
int is_prime(int num)
{
if (num < 2)
{
return 0;
}
int i, tmp = (int)sqrt(num);
for (i = 2; i <= tmp; ++i)
{
if (num % i == 0)
{
return 0;
}
}
return 1;
}
int main(int argc, char** argv)
{
    int i;
printf ("1 ~ 100 的素数:\n");
for (i = 1; i <= 100; ++i)
{
if (is_prime(i))
{
printf ("%d\n", i);
}
}

    return 0;
}

运行:

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-11-18
#include <stdio.h>
int count = 0;
int i = 0;
int calc(int num){
for(i=1;i<=num;i++){
if(num%i==0){
count++;
}
if(count <= 2){
count = 0;
return num;
}
}
}
void main(){
for(i=1;i<=100;i++){
printf("1-100之内的素数有:%d",calc(i));
}
}
第2个回答  2015-11-18

#include <stdio.h>

#include <math.h>

inr prime(int n)

{int i;

for(i=2;i<=sqrt(x);i++)

    if(x%i==0) return 0;

return 1;

}

int main()

{int i;

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

  if(prime(i)) printf("%5d",i);

printf("\n");

return 0;

}

本回答被网友采纳
第3个回答  2015-11-18
int IsPrime(int num)    //自定义判断素数函数
{
int i=2;
for(;i<=num/2;i++)
if(num%i==0)
return 0;
return 1;
}
void main()
{
int num;
printf("1-100的素数如下:\n");
for(num=2;num<=100;num++)
if(IsPrime(num))
printf("%d  ",num);
printf("\n");
}

第4个回答  推荐于2018-02-28
#include <stdio.h>
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;
for (i = 1; i <= 100; i++){
if (isPrime(i)){
printf("%d ", i);
}
}
return 0;
}

本回答被网友采纳

c语言,输出1-100之间的所有素数,运用自定义函数!用循环来写。
printf ("1 ~ 100 的素数:\\n");for (i = 1; i <= 100; ++i){if (is_prime(i)){printf ("%d\\n", i);}} return 0;}运行:

怎样用C#语言写出 1到100之间的素数呀
static void Main(string[] args){ \/\/输出1-100之间的质数。for (int i = 1; i <= 100; i++){ if (IsZhiShu(i))Console.Write("{0} ", i);} Console.Read();} \/\/\/ \/\/\/ 判断是否为质数。\/\/\/ \/\/\/ \/\/\/ <returns><\/returns> public static bool IsZhiShu(int n){ \/...

用C语言求解1-100之间的所有素数。
int sum=0;int flag;\/\/是否为素数 for(i=2;i<=100;i++){ flag=1;for(j=2;j<=i-1;j++){ if(i%j==0){ flag=0;break;} } if(flag==1){ sum+=i;} } lr_output_message("sum=%d",sum);return 0;} 输出的结果:sum=1060 ...

如何用c语言输出所有的素数?
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个素数,基本...

c语言程序设计实验 输出1到100之间的素数。
i; ++j){\/\/2-sqrt(i)循环控制 if (i % j == 0)break;\/\/如果能整除,说明不是素数,跳出循环 } if (j*j > i){\/\/如果没有能整除的数,说明是素数,输出 printf ("%d\\n", i); } } return 0;}

输出1-100之间的所有素数。
有你们写的那么复杂?include<stdio.h> main(){int i,n=2;printf("1~100所有素数");while(++n<100){i=1;while(++i<n)if(n%i==0)break;if(i==n)printf("%d,",n);} }

用c语言编写程序输出1-100内的素数
bool isprime[100];int i, j;isprime[0] = false;isprime[1] = false;for(i = 2; i < 100; i++) \/*先初始化2~100的都是素数,然后将非素数筛除掉*\/ isprime[i] = true;for(i = 2; i < 10; i++) \/*将所有含有小于10的质因子的数筛除掉*\/ { if(isprime[i...

输出1-100之间的素数还有他们的和,用C语言实现
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;}

...语言编程的一个程序。让输出一1000以内的全部素数
1、主函数中进行循环,从2到1000 2、如果当前循环的数是素数,就将其输出 判断一个数num是否是素数,可按照以下流程:1、循环,从2到num-1 2、如果当前循环的数能被num整除,则num不是素数 3、没有num能整除的数,表明num是素数 代码如下:include <stdio.h> int isPrime(int num);int main(...

用C语言,判断1-100之间有多少个素数,并输出所有素数。
可以使用筛法来判断 1-100 之间有多少个素数,并输出所有素数。筛法是一种通过枚举合数的因子来筛选出素数的方法。下面是用 C 语言实现的代码示例:include <stdio.h>#include <stdbool.h> define N 100 int main(void){ \/\/ 创建一个 bool 类型的数组,用来存储每个数是否为素数bool prime[N + ...

相似回答