【问题标题】:sum Array Ascii that accepts an array of strings and returns the sum of all the ascii values of all the characters in all the strings in that arraysum Array Ascii,它接受一个字符串数组并返回该数组中所有字符串中所有字符的所有 ascii 值的总和
【发布时间】:2012-04-23 03:51:23
【问题描述】:

k 我被要求编写一个函数 sumArrayAscii,它接受一个字符串数组并返回该数组中所有字符串中所有字符的所有 ascii 值的总和。请注意,此函数应使用问题中的 sumAscii。这就是我所拥有的,但我无法让它工作

#include <iostream>
using std::cout; 
using std::endl; 

int main() 
{ 
int myArrayNumberOfElements(5); 
double myArray[myArrayNumberOfElements] = {1.1, 4.5, 5.7, 7.9, 10}; 
double sum(0); 
for (int i(0); i < myArrayNumberOfElements; i++) 
{ 
sum +=myArray[i]; 
} 

cout << endl << "Sum of all elements: " << sum << endl; 

system("PAUSE"); 
return 0; 

【问题讨论】:

  • 到目前为止,您的sumArrayAscii 函数在哪里?你试过什么?
  • 您想要 ASCII 值的总和,还是要将字符串转换为数字,然后将这些数字相加?
  • 什么有效?什么没有?您生成了哪些测试输入和输出?
  • @KcNorth: Jesse's answer 处理您看到的 compiler(不是 debuugger)错误,但您粘贴的代码没有任何内容与您的问题有关,它对 doubles 的数组求和,而不是字符串中的 ASCII 值。您可以编辑您的帖子以使代码更相关。

标签: c++ arrays ascii sum


【解决方案1】:

改变

int myArrayNumberOfElements(5); 

const int myArrayNumberOfElements(5); 

数组的大小在 C++ 中需要保持不变。

【讨论】:

    【解决方案2】:

    您发布的代码计算双精度数组的总和。我看不到与字符串或 ASCII 代码有关的工作。

    这两个功能对我有用。第一个函数返回单个字符串中所有字符的 ASCII 和。第二个使用第一个函数计算字符串列表的 ASCII 和。

    int ASCIIsumOfString(string s){
    int sum = 0;
    for(int i=0; i<s.length(); i++){
        sum += s[i];
    }
    return sum;}
    
    
    int ASCIIsumOfStringArray(string *s, int numberOfStrings){
        int sum = 0;
        for(int i=0; i<numberOfStrings; i++){
            sum += ASCIIsumOfString(s[i]);
        }
        return sum;
    }
    

    【讨论】:

    • 好的,等一下,你是对的,我的原始文件中没有 sumASCIIArray
    猜你喜欢
    • 2012-09-11
    • 2011-01-27
    • 2012-01-22
    • 2010-12-04
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 2022-10-13
    • 2013-12-07
    相关资源
    最近更新 更多