c++ - 如何找到位数大于5的数字的总和
问题描述
所以我想编写一个函数,它返回数组中所有数字的总和,其数字高于 5 例如,如果数组是 [12, 66, 23, 67],则答案将是 66+67 这段代码总结了所有数组中的数字,我不知道为什么
using namespace std;
int func(int n[], int size){
int digit, S=0, a;
for(int i=0; i<size; i++){
a= n[i];
while( n[i]!=0){
digit= n[i]%10;
if(digit>=5){
n[i]= n[i]/10;
}
else break;
}
S=S+a;
}
return S;
}
int main()
{
int n[3], i;
for(int i=0; i<3; i++){
cin>>n[i];
}
cout<<func(n, 3)<<endl;
return 0;
}```
解决方案
S=S+a
这段代码不在您的 while 循环内,在 for 循环内,这将添加数组中的所有元素
推荐阅读
- c++ - 无法用函数的返回值初始化对象。为什么?
- c# - VS 2019 右键自定义右键动作
- css - 为 wordpress 古腾堡表格自定义表格标题行,只为单个页面
- python - 微软用python翻译?
- java - 休眠不删除孤儿实体
- ios - 在用于播放媒体文件的扬声器中播放的声音,而不是用于通话的扬声器
- sql - 如何获得两个日期的时差,例如 x 天 y 小时 z 秒 t 分钟
- javascript - 是否可以持久化/序列化/反序列化 JS 生成器?(在 node.js 或任何其他引擎中)
- angular - 未捕获的 ReferenceError:未定义全局
- python - 为什么这个递归函数不能用于计算应找零的硬币数量?