首页 > 解决方案 > 如何找到位数大于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;
}```

标签: c++

解决方案


S=S+a这段代码不在您的 while 循环内,在 for 循环内,这将添加数组中的所有元素


推荐阅读