📌  相关文章
📜  国际空间研究组织 | ISRO CS 2011 |问题 73(1)

📅  最后修改于: 2023-12-03 15:37:14.842000             🧑  作者: Mango

国际空间研究组织 | ISRO CS 2011 | 问题 73

简介

国际空间研究组织(ISRO)是印度政府负责空间技术与空间科学的机构。ISRO推出了许多探索航天领域的活动,其中包括卫星发射、导航系统和探测任务等。ISRO CS 2011 是 ISRO 的一项计算机科学考试。

问题 73

问题 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。我们可以使用循环和字符串处理来实现这个程序,需要注意的是要使用整数类型来转换字符编码。