Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Tổng giá trị bảng chữ cái của ký tự chuỗi trong C++


Cho mảng chuỗi str[]. Tính điểm của mỗi chuỗi: vị trí chuỗi (bắt đầu từ 1) nhân với tổng giá trị bảng chữ cái các ký tự (a=1, b=2, ..., z=26).

Ví dụ

Đầu vào: {"learn", "programming", "tutorials", "point"}

Chuỗi "learn" (vị trí 1): l(12)+e(5)+a(1)+r(18)+n(14)=50 → Điểm = 50×1=50

Chuỗi "programming" (vị trí 2): Tổng=131 → Điểm=262

Chuỗi "tutorials" (vị trí 3): Tổng=135 → Điểm=405

Chuỗi "point" (vị trí 4): Tổng=74 → Điểm=296

Thuật toán

  • Duyệt từng chuỗi, lưu vị trí (index)
  • Tính tổng giá trị ký tự: ch - 'a' + 1
  • Nhân với vị trí, in kết quả

Ví dụ mã nguồn

#include <iostream>
#include <string>
using namespace std;

int diemChuoi(string str[], string s, int n, int viTri) {
    int diem = 0;
    for (int j = 0; j < s.length(); j++)
        diem += s[j] - 'a' + 1;
    return diem * viTri;
}

int main() {
    string str[] = {"learn", "programming", "tutorials", "point"};
    int n = sizeof(str)/sizeof(str[0]);
    for (int i = 0; i < n; i++) {
        cout << "Điểm chuỗi '" << str[i] << "' = " 
             << diemChuoi(str, str[i], n, i+1) << endl;
    }
    return 0;
}

Kết quả

Điểm chuỗi 'learn' = 50
Điểm chuỗi 'programming' = 262
Điểm chuỗi 'tutorials' = 405
Điểm chuỗi 'point' = 296