c语言海伦公式编程注释,c语言 关于海伦公式 求助

满意答案

是刚学C吧?好象对变量的作用域、命名以及命令的使用还要再加强一下。

三个函数中都有错误:

一,看你的程序,似乎是想把变量s作为一个全局变量,在各个函数中使用,可该变量并没有定义。(那个主函数中的S是大写的,与此无关。)

二,变量名与函数名重合,如果s是全局变量的话,那么又与函数s(float,float,float)的命名重复,编译器无法确定同样的一个名字到底是函数还是变量,不能通过编译。同时,在函数area(float,float,float)中,里面有一个求面积的变量area也没有定义。

三,主函数中的语法逻辑错误。

程序的本意是先判断三条边是否符合构成三角形的条件,然后再计算面积。但:

1、这里其实应该用if语句,而不用循环;

2、即使是采用循环,从逻辑上也是错的:照你的程序,只要符合条件(两边之和大于第三边)就一直循环下去,除非不符合方退出,这个程序不能计算出正确的结果。

虽然下面是按尽量按程序的原样改动,但一般而言不提倡使用全局变量,因为使用多了,程序的可移植性会大受影响。

综上所述,程序和如下改动(在保证正确的情况下尽量不改变原程序):

#include

#include

float s;

void main()

{ float area(float a,float b,float c);

float a,b,c,S;

scanf("%f %f %f",&a,&b,&c);

if(a+b>c&&a+c>b);

S=area(a,b,c);}

}

float area(float a,float b,float c)

{

float ss(float a,float b,float c);

float area;

s=ss(a,b,c);

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf("area=%f",area);

return area;

}

float ss(float a,float b,float c)

{

s=(a+b+c)*0.5;

return s;

}

11分享举报

海伦约会网站(Helen's Dating Site)中的K最近邻(K-Nearest Neighbors, KNN)算法是一种常用的机器学习算法,主要用于分类和回归问题。在推荐系统中,比如个性化匹配用户,KNN可以根据用户的历史行为或偏好找到与其最相似的其他用户,从而推荐相似的人作为潜在的约会对象。 KNN算法的核心思想是,对于一个新的用户,将其与数据库中的所有用户进行比较,找出K个与其特征最接近的用户,然后根据这些邻居的行为或喜好来预测其可能的兴趣或匹配度。 以下是一个简单的Python示例,使用scikit-learn库来实现KNN算法: ```python # 导入所需库 from sklearn.neighbors import KNeighborsClassifier from sklearn.datasets import load_iris # 假设这是约会数据集的一种模拟 from sklearn.model_selection import train_test_split # 加载数据 data = load_iris() X = data.data y = data.target # 假设每个样本是用户的特征,y是用户类型(例如匹配等级) # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) # 创建KNN模型 knn = KNeighborsClassifier(n_neighbors=5) # k=5代表查找5个最邻近的用户 # 训练模型 knn.fit(X_train, y_train) # 预测新用户 new_user = ... # 这是你要推荐给的新用户特征 prediction = knn.predict([new_user]) # 输出推荐结果 print(f"推荐给新用户的约会对象类型: {prediction}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值