2021蓝桥杯真题距离和 C语言/C++
创始人
2025-05-30 00:53:32
0

题目描述
本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。

两个字母之间的距离定义为它们在字母表中位置的距离。例如 A 和 C 的距离为 2,L 和 Q 的距离为 5。

对于一个字符串,我们称字符串中两两字符之间的距离之和为字符串的内部距离。

例如:ZOO 的内部距离为 22,其中 Z 和 O 的距离为 11。

请问,LANQIAO 的内部距离是多少?

运行限制
最大运行时间:1s
最大运行内存: 128M

所需变量

char arr[8] = “LANQIAO”;//初始化字符数组arr

int sum = 0;//代表距离和,初始化为0

int i,j;//循环变量

思路:首先我们要了解大写字母的aciis码,对于A来讲就是65,以此类推,我们不难发现,B是66,每次一个字母的aciis都是+1,因此我们可以直接强制类型转换,让其进行相减,比如C-A = 67-65 = 2;这个2也正是我们想求的距离,因此我们可以从第一个开始,不断往后减每个字符,当得到第一个字符对后面所有字符的结果后,再让第二个字符向后面求距离,求距离的时候记得累加

for(i = 0;i<7;i++){for(j = i+1;j<7;j++){sum += abs(arr[i] - arr[j]);}}

完整代码如下(编译器是dev,语言是C语言):

#include 
using namespace std;
int main()
{char arr[8] = "LANQIAO";int sum = 0,i,j;for(i = 0;i<7;i++){for(j = i+1;j<7;j++){sum += abs(arr[i] - arr[j]);}}cout<

在这里插入图片描述

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...