主题:帮忙一下啊!
x不会飞
[专家分:0] 发布于 2010-11-23 14:39:00
输入一个数,判断是否为素数。
#include<stdio.h>
#include<math.h>
void main()
{
int i,w,r,n;
double m;
scanf("%d",&n);
i=2;
w=0;
m=sqrt(n);
while (i<=m||w==0)
{
if (n%i==0)
w=1;
else
i=i+1;
}
if(w==0)
printf("%d is sushu",n);
else
printf("%d is not sushu",n);
}
请问哪里错了?运行时输入一个数就出不来了。麻烦帮我改改!谢谢了!
回复列表 (共5个回复)
沙发
rinvwon [专家分:50] 发布于 2010-11-23 16:31:00
改成while (i<=m&&w==0)
板凳
wolf赵帅 [专家分:70] 发布于 2010-11-23 19:58:00
#include<stdio.h>
#include<math.h>
void main()
{
int i,w,n;
double m;
scanf("%d",&n);
i=2;
w=0;
m=sqrt(n);
while (i<=m&&w==0)
{
if (n%i==0)
w=1;
else
i=i+1;
}
if(w==0)
printf("%d is sushu",n);
else
printf("%d is not sushu",n);
}
这样就行啦
3 楼
x不会飞 [专家分:0] 发布于 2010-11-24 11:02:00
谢谢各位了!我明白了。
4 楼
cfj469933485 [专家分:950] 发布于 2010-11-24 21:14:00
//所谓素数(或称质数)是指除了1和它本身以外,不能被任何整数整除的数
#include <stdio.h>
#include <math.h>
int main()
{
int m, i, k;
printf("please enter an integer number: ");
scanf("%d", &m);
k = sqrt(m);
for(i = 2; i <= k; i ++)
if(m % i == 0) break;
if(i > k) printf("%d is a prime number.\n", m);
else printf("%d is not a prime number.\n", m);
}
5 楼
x不会飞 [专家分:0] 发布于 2010-11-25 14:12:00
我还没学到for语句,不过还是谢谢你了。
我来回复