题目是这样的:
灾后的救援需要很多的人员,现在又刚刚到达一批志愿者,他们一共有n(10<=n<=1000)人,根据指挥部的指示,他们将被分为抢险、医疗以及通信等3个小分队,并且规定,抢险小分队需要占总人数的一半(如果有小数的话,则舍去),医疗小分队需要占剩余人数的2/3(如果有小数的话,则舍去),剩余的则组成通信小分队。比如一共有55人,那么抢险小分队为55/2=27人,减去抢险小分队为27人剩下28人,则医疗小分队为28*2/3 = 18人,通信小分队为55-27-18=10人。

为了保证救援工作的顺利进行,指挥部决定为每个小分队指派若干当地的向导,原则是为每十个志愿者指派一个向导(如有不足10人的情况,也指派一个),现在请问:需要为这批志愿者指派多少个向导呢? 
Input
输入数据首先包含一个正整数C,表示有C组测试用例,然后是C行数据,每行包含一个正整数n(10<=n<=1000),表示志愿者的总人数。 
Output
对于每组测试数据,请输出需要的向导数目,每个输出占一行。 
Sample Input
2
14
55
Sample Output
3
6
 


我的代码是这样的,测试的几个例子都是对的:




#include <iostream>

using std::cout;
using std::cin;
using std::endl;

int get(int x)
{
    if(x%10 == 0)
        return x/10;
    else
    {
        if(x>10)
        {
            for(int i = x - 1;i>x - 10;--i)
            if(i%10 == 0)
                return i/10 + 1;

        }
        else
            return 1;
        

    }
}

int main()
{
   int C;
   int n;
   int x, y, z;
   int i;

   cin>>C;
   for( i = 0;i<C;++i)
   {
       cin>>n;
       
       //To get value of x
       if(n%2 == 0)
           x = n/2;
       else
           x = (n-1)/2;

       

       //To get value of y
       
       if((n - x)%3 == 0)
           y = (n - x)*2/3;
       else
       {
           if((n - x)%3 == 1)
               y = (n - x - 1)*2/3;
           if((n - x)%3 == 2)
               y = (n - x - 2)*2/3;

       }

      
        
       //To get value of z
       z = n - x -y;

       


       


       cout<<get(x) + get(y) +get(z)<<endl;



   }
   
   

    return 0;
}