交换两个数组元素以及求一个整数中二进制位的代码

来源:互联网 发布:mac怎样切换输入法 编辑:程序博客网 时间:2024/05/16 06:47

//求两个数的最大公约数

    inti,a,b,c,k;

    cin>> a >> b;

    if (a >b)

       c = b;

    else

       c = a;

    for (i =1; i <= c; i++)

    {

       if((a%i == 0) && (b%i == 0))

           k =i;

    }

    cout<< k << endl;

    //10个整数中的最大值

    /*intarray[5];

    int i= 0;

    int max=0;

    for (i =0; i < 10; i++)

    {

       cin>> array[i];

    }

    for (i =0; i < 10; i++)

    {

   

       if (max<array[i])

       {

           max= array[i];

       }

    }

    cout <<max<< endl;*/

 

//将三个数按从大到小输出

    voidswap(int x,inty)

    {

       x =x^y;

       y =x^y;

       x =x^y;

    }

    inta,b,c;

    cin>> a >> b>> c;

    if(a > b)

    {

       swap(a,b);

    }

    if(b> c)

    {

       swap(b,c);

    }

    if(a > c)

    {

       swap(a,c);

    }

    cout << a<< b << c << endl;

 

//交换两个数组的值,假设两个数组大小一样

void swap(int arr1[], int arr2[])

{

    int i=0;

    for (i =0; i < 5; i++)

    {

       inttemp;

       temp =arr1[i];

       arr1[i]= arr2[i];

       arr2[i]= temp;

    }

int arr1[5] = { 0 };

int arr2[5] = { 0 };

cout << "请输入数组arr1[]:"<<endl;

int i = 0;

for (i = 0; i < 5; i++)

{

cin >> arr1[i];

}

cout << "请输入数组arr2[]:"<<endl;

for (i = 0; i < 5; i++)

{

cin >> arr2[i];

}

swap(arr1, arr2);

for (i = 0; i < 5; i++)

{

cout << "arr1[]:" << arr1[i]<< endl;

}

for (i = 0; i < 5; i++)

{

cout << "arr2[]:" << arr2[i]<< endl;

}

 

//一个函数返回参数二进制中1的个数

int count_one_bits(unsignedint value)

{

    intcount = 0;

    while(value)

    {

       if(value% 2 == 1)

       {

           count++;

       }

       value= value / 2;

    }

    returncount;

}

//将一个整数转换成二进制数。

void fun(intn)

{

    if(n)

       fun(n /2);

    else

    {

       cout<< n % 2 <<endl;

    }

}

0 0
原创粉丝点击