📅  最后修改于: 2023-12-03 15:37:14.842000             🧑  作者: Mango
国际空间研究组织(ISRO)是印度政府负责空间技术与空间科学的机构。ISRO推出了许多探索航天领域的活动,其中包括卫星发射、导航系统和探测任务等。ISRO CS 2011 是 ISRO 的一项计算机科学考试。
问题 73 是 ISRO CS 2011 考试中的一个编程题。题目要求编写一个程序,输入一个字符串,输出字符串中每个字符相邻字符的 ASCII 差值的绝对值的总和。例如,对于字符串 "abcd",输出为 3+3+3=9。
以下是问题 73 的具体要求:
第一行输入一个整数 N,表示测试用例的数量。
接下来 N 行,每行输入一个字符串。
输出 N 行,每行一个整数,表示对应字符串的所有相邻字符ASCII差值的绝对值的总和。
def get_ascii_sum(s: str) -> int:
sum = 0
for i in range(1, len(s)):
sum += abs(ord(s[i]) - ord(s[i-1]))
return sum
n = int(input())
for i in range(n):
s = input().strip()
print(get_ascii_sum(s))
#include <iostream>
using namespace std;
int get_ascii_sum(string s) {
int sum = 0;
for (int i = 1; i < s.length(); i++) {
sum += abs((int)s[i] - (int)s[i-1]);
}
return sum;
}
int main() {
int n;
cin >> n;
for (int i = 0; i < n; i++) {
string s;
cin >> s;
cout << get_ascii_sum(s) << endl;
}
return 0;
}
import java.util.Scanner;
public class Main {
public static int getAsciiSum(String s) {
int sum = 0;
for (int i = 1; i < s.length(); i++) {
sum += Math.abs((int)s.charAt(i) - (int)s.charAt(i-1));
}
return sum;
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
scanner.nextLine();
for (int i = 0; i < n; i++) {
String s = scanner.nextLine();
System.out.println(getAsciiSum(s));
}
}
}
ISRO CS 2011 问题 73 要求编写一个程序,计算输入的字符串中每个字符相邻字符的 ASCII 差值的绝对值的总和,并输出结果。我们可以使用多种编程语言来实现这个程序,例如 Python、C++ 和 Java。我们可以使用循环和字符串处理来实现这个程序,需要注意的是要使用整数类型来转换字符编码。