编写一个函数,判断一个数是不是素数。在主函数中输入一个整数,输出是否是素数的信息。 实验步骤与要求:

编写一个函数,判断一个数是不是素数。在主函数中输入一个整数,输出是否是素数的信息。
实验步骤与要求:
(1) 编写一个函数prime(n),返回给定整数n是否为素数。
(2) 编写一个主函数,输入一个整数,调用(1)中的函数,判断此整数是否为素数,并输出结果。
警告 1 warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. c:\a\a\aaa.cpp 9 a
错误 2 error C2668: “sqrt”: 对重载函数的调用不明确 c:\a\a\aaa.cpp 22 a

第1个回答  2012-06-12
package Test;

import java.util.*;
public class tests {
public static void main(String[] args) {
System.out.println("请输入一个正整数:");
int a = (new Scanner(System.in)).nextInt();
if(prime(a) == true){
System.out.println(a+"是素数");
}
else{
System.out.println(a+"不是素数");
}
}

public static boolean prime(int n){
boolean flag=true;
for(int i=2;i<=Math.sqrt(n);i++){
if(n%i==0)
flag=false;
if(flag==false)
break;
}
return flag;
}
}追问

c语言啊,java,不行啊

追答

那我改成C语言的需要一点时间

追问

不急啊,等你一会

追答

#include
#include

int main()
{
int n;
while(scanf("%d",&n)!="stop")
{
if(prime(n)==1)printf("素数\n");
else printf("不是素数\n");
}
}

int prime(int x)
{
int flag=1;
int i;
if(x<2) flag =0;
for(i=2;i<=sqrt(x);i++){
if(x%i==0) flag=0;
}
return flag;
}
你试下能不能成功!我好想没C语言的开发工具记事本写的没运行过看能通过吗!

追问

不行啊。出错了

追答

#include
#include
int prime(int);

int main()
{
int n;
while(scanf("%d",&n)!=-1)
{
if(prime(n)==1)printf("素数\n");
else printf("不是素数\n");
}
}

int prime(int x)
{
int flag=1;
int i;
int m=(int)sqrt(float(x));
if(x<2) flag =0;
for(i=2;i<=m;i++){
if(x%i==0) flag=0;
}
return flag;
}

现在行不行不行的话只有晚上回家再搞了,没开发工具,问题观看还是没法解决。抱歉了啊

相似回答
大家正在搜