#include <stdio.h>//stdio.h 是用于输入输出操作的头文件
#include <string.h>//string.h 是用于字符串操作的头文件
第二步:定义函数来实现主要功能,函数部分一般涉及到的是一个for循环里面嵌套if条件语句
1.判空 2.for循环 3.if条件语句进行判断
float calc_similarity(char* s1, char* s2) {//定义函数 calc_similarity,用于计算两个字符串的相似度
int len1 = strlen(s1);//使用 strlen 函数获取两个字符串的长度'
int len2 = strlen(s2);
int max_len = (len1 > len2) ? len1 : len2;//通过比较得到较长字符串的长度作为 max_len
int same_count = 0;
for (int i = 0; i < max_len; i++) {//使用一个循环遍历两个字符串的每个字符
if (i >= len1 || i >= len2) {//如果遍历到的索引超过了任意一个字符串的长度,就退出循环
break;
}
if (s1[i] == s2[i]) {//如果当前字符相等,则增加 same_count 的计数
same_count++;
}
}
return (float)same_count / (float)max_len;//得出两个字符串的相似度,并以float类型输出
}
第三步:写main函数,调用函数来实现该功能
这里面主要包含四个步骤 1.定义存储位置 2.输入并接受字符串 3.调用函数相关功能 4.输出结果
int main() {
char s1[100], s2[100];//负责用户输入和输出
printf("请输入第一个字符串:");//输入第一个字符串
scanf("%s", s1);//读取用户输入的字符串并存储到 s1 中
printf("请输入第二个字符串:");
scanf("%s", s2);
float similarity = calc_similarity(s1, s2);//计算两个字符串的相似度,并将结果存储到变量 similarity 中
printf("两个字符串的相似度为:%.2f\n", similarity);//输出计算得到的相似度
return 0;
}
这其中的话第一步和第三步的答案是固定的,不同的是第二步,但是第二步的话也可以有固定的,我发现大部分的字符串题目都涉及到三步走:1.判空 2.for循环 3.if条件语句进行判断 ,所以如果第二步不会了也可以向这方面进行靠拢着写,最最重要的是一定要多写注释,因为我们上机的话如果没有完全运行出结果的话老师会按照你的步骤进行得分!