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

Tổng giá trị ASCII của từng từ trong câu trong C

Cho một câu, cần tính tổng giá trị ASCII của từng từ riêng lẻ, sau đó tổng tất cả lại.

Ví dụ

Câu: "I love tutorials point"

Kết quả: 105 438 999 554 (tổng từng từ) → Tổng cộng: 2096

Chương trình

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

long long sumCalc(string str, vector<long long> &arrSum) {
    int len = str.length();
    int sum = 0;
    long long total = 0;
    
    for (int i = 0; i < len; i++) {
        if (str[i] == ' ') {
            total += sum;
            arrSum.push_back(sum);
            sum = 0;
        } else {
            sum += str[i];
        }
    }
    arrSum.push_back(sum);
    total += sum;
    return total;
}

int main() {
    string str = "i love tutorials point";
    vector<long long> arrSum;
    
    cout << "Chuoi: " << str << endl;
    long long total = sumCalc(str, arrSum);
    
    cout << "Tong ASCII tung tu: ";
    for (auto x : arrSum) cout << x << " ";
    cout << "\nTong tat ca: " << total;
    return 0;
}

Kết quả

Chuoi: i love tutorials point
Tong ASCII tung tu: 105 438 999 554
Tong tat ca: 2096