首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

编程,在屏幕上输出2~n间所有的素数,n从键盘上输出,但以下的程序不知错在哪,求解?解决办法

2013-11-25 
编程,在屏幕上输出2~n间所有的素数,n从键盘上输出,但以下的程序不知错在哪,求解?#includestdio.hint mai

编程,在屏幕上输出2~n间所有的素数,n从键盘上输出,但以下的程序不知错在哪,求解?
#include<stdio.h>
int main()
{
int n;

printf("请输入一个整数n:");
scanf("%d",&n);
int x,y;
int flag;
for(x=2;x<=n;x++)
{
flag=1;
for(y=2;y<x;y++)
{

if(x%y==0)
flag=0;
}
if(1==flag)
printf("5%d",x);

}
[解决办法]


bool isPrime(int number)// 求素数

int i;
int k;

k = (int)sqrt((double)number);      // 用平方根,而非用number/2,相对提高速度sqrt(number)/2倍
for(i = 2; i <= k; i++)
{
if(number%i==0) 
break;
}
if (i > k)  return true;// 没有找到可以整除的除数,被除数是 prime number
else   return false;
}


[解决办法]

printf("5%d",x);
//换成这个,程序没发现什么问题
printf("%d  ",x);

[解决办法]

#include<stdio.h>
 int main()
 {
 int n;
 int x,y;
 int flag;
printf("请输入一个整数n:");
 scanf("%d",&n);
 
 for(x=2;x<=n;x++)
 {
 flag=1;
 for(y=2;y<x;y++)
 {

 if(x%y==0)
 flag=0;
 }
 if(1==flag)
 printf("%5d\n",x);
 } 
 }
你这这nb啊,这程序写的
[解决办法]


#include <stdio.h>

int main()
{
    int n;
    int x, y;
    int flag;
    
    printf("请输入一个整数n: ");
    scanf("%d", &n);

    for (x = 2; x <= n; x++) {
        flag = 1;

        for (y = 2; y < x; y++) {
            if (x % y == 0) {
                flag = 0;
                break;
            }
        }

        if (1 == flag)
            printf("%5d\n", x);
    }
}

请输入一个整数n: 10
    2
    3
    5
    7

热点排行