第1题
设计一个point(点)类: (1)该类具有成员变量x,y(表示点的横、纵坐标); (2)定义一个有参构造方法point(int x,int y),将其一对坐标值作为参数,其中x,y为给定坐标值; (3)定义一个无参的构造方法point( )(令两坐标值均为0); (4)设计一个实例方法distance(point p1,point p2),实现求坐标轴上两个点的距离(Java中的开平方根函数为Math.sqrt()),其方法的声明为:double distance(point p1,point p2) 。 编写Test类,在其main方法中创建2个point对象,对应点(10,10)和点(20,25),再调用distance(point p1,point p2)方法计算出两点之间的距离并输出该值。
第2题
请编写函数fun,其功能是:计算并输出3~n之间(含3和n)所有素数的平方根之和。
例如,在主函数中从键盘为n输入100后,输出为:sum=148.874270。
[注意] 要求n的值大于2但不大于100。
[注意] 部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
[试题源程序]
#include<math.h>
#include<stdio.h>
double fun(int n)
{
}
main()
{
int n;
double sum;
printf("\n\nInput n:");
scanf("%d", &n);
sum=fun(n);
printf("kn\nsum=%f\n\n", sum);
}
【我提交的答案】:
【参考答案分析】:
double fun(int n) { int i, j=0; double s=0; for (i=3; i<=n;i++) { for(j=2; j<i; j++) if(i%j==0) break; if(j==i) s=s+sqrt(i); } return s; }
一个范围内所有的素数怎么求
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!