我想计算包含两位数的数组中所有整数的总和。例如:
int[] arr1 = {1, 23, 4, 55};
int[] arr2 = {2, 5, -66, 23};
第一个数组的结果应为23 + 55 = 78
,而第二个数组的结果应为-66 + 23 = -43
。我怎样才能做到这一点?
答案 0 :(得分:2)
您可以使用元素的索引:
int[] arr1 = {1,23,4,55};
int[] arr2 = {2,5,-66,23};
int sum1 = arr1[1] + arr1[3];
int sum2 = arr2[2] + arr2[3];
答案 1 :(得分:2)
获取数组中两个数字的总和:
请记住,在调用数组访问存储值时,请使用数组中值的索引(或位置) - 然后添加一个。我们使用indexOfValue + 1的这个公式作为大多数语言在第0个位置开始索引数组(尽管这并不总是为真,例如,Fortran将其数组从1开始索引所以'integer anArray(50)'会创建一个能够存储50个int元素的数组,从索引1开始,到索引50结束)。编程语言中这种结构设计的另一个结果是可以使用sizeOfArray - 1访问数组的最后一个值。
要澄清这些概念,请查看以下代码:
int[] a = {1,23,4,55};
int firstSum = a[1] + a[3]; // performs 23 + 55
int[] b = {2,5,-66,23};
int secondSum = b[2] + b[3]; // performs -66 + 23
int sumOfLastValues = a[a.length - 1] + b[b.length - 1];
答案 2 :(得分:2)
如果要对仅包含两位数的元素求和,可以使用以下内容:
cancel:
答案 3 :(得分:0)
我会给你一些我尝试过的代码:
int sum1 = 0, sum2 = 0;
int[] arr1 = {1, 23, 4, 55};
for(int i: arr1){
if(i/10 > 0 && i/100 == 0){
sum1 += i;
}
else if(i/-10 > 0 && i/-100 == 0){
sum1 -=i;
}
}
int[] arr2 = {2, 5, -66, 23};
for(int i: arr2){
if(i/10 > 0 && i/100 == 0){
sum2 += i;
}
else if(i/-10 > 0 && i/-100 == 0){
sum2 +=i;
}
}
System.out.println(sum1);
System.out.println(sum2);
结果是:
78
-43
答案 4 :(得分:0)
您可以转换为字符串并检查。
for(int num : v) {
// check for size
string str = to_string(num);
if( (str.size() == 2) || (str.size()==3 && (str[0]=='+' || str[0]=='-') ) )
sum += num;
}
cout<<sum;