写一个C语言函数判断两个字符串是否相同,不要调库
时间: 2023-05-21 19:04:02 浏览: 81
好的,以下是一个简单的C语言函数,用于判断两个字符串是否相同,不需要调用库函数:
```c
int strcmp(const char* str1, const char* str2) {
int i = 0;
while (str1[i] == str2[i]) {
if (str1[i] == '\0' || str2[i] == '\0')
break;
i++;
}
if (str1[i] == '\0' && str2[i] == '\0')
return 0;
else
return -1;
}
```
这个函数会返回0,如果两个字符串相同,否则返回-1。
相关问题
写一个GBDT调库多分类代码
当然,我可以帮你写一个使用GBDT调库进行多分类的代码。以下是一个使用Scikit-learn库中的GradientBoostingClassifier类的示例代码:
```python
from sklearn.ensemble import GradientBoostingClassifier
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split
# 假设你有一个包含特征和标签的数据集,特征存储在X中,标签存储在y中
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 初始化GradientBoostingClassifier模型
gbdt = GradientBoostingClassifier()
# 使用训练集对模型进行训练
gbdt.fit(X_train, y_train)
# 使用训练好的模型进行预测
y_pred = gbdt.predict(X_test)
# 计算准确率
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
```
在这个例子中,我们首先使用`train_test_split`函数将数据集分成训练集(用于训练模型)和测试集(用于评估模型性能)。然后,我们初始化了一个`GradientBoostingClassifier`对象,并使用训练集对其进行训练。接下来,我们使用训练好的模型对测试集进行预测,并计算准确率作为评估指标。
请确保将`X`替换为包含特征的数组,将`y`替换为包含相应标签的数组。
希望这个例子对你有所帮助!如果你有任何其他问题,请随时提问。
用py写一个傅立叶变换,不调库,自己实现
好的,以下是一个用 Python 实现的傅立叶变换的代码:
```python
import math
def dft(x):
N = len(x)
X = [0] * N
for k in range(N):
for n in range(N):
X[k] += x[n] * math.e ** (-2j * math.pi * k * n / N)
return X
```
这个函数接受一个长度为 N 的实数序列 x,返回它的傅立叶变换 X。