c++问题,大虾快来看看

来源:百度知道 编辑:UC知道 时间:2024/06/02 21:22:11
给定程序中,函数fun的功能是,将形参n中,各位上为偶数的数取出,并按原来从高位到低位的顺序组成一个新的数并作为函数值返回,例如从主函数输入一个整数,27638496函数返回值为26846
上边的问题解决了,大虾看看这个问题吧~~

输出M行M列整数方阵,然后求两条对角线上元素之和,返回此和数

long fun(long x)
{
unsigned char uchArr[50]={0};
long i=0,j=0,k=0;
while(x>0)
{
j=x%10;
if(j%2==0)
{
uchArr[i++]=j;
}
x=x/10;
}
for(i--;i>=0;i--)
{
k=uchArr[i]+k*10;
/*最好加这句,不同的编译器或设置对于long的定性不同*/
if(i==0)
break;
/**/
}
return k;
}

如果整数方阵为Arr[M][M]
long i,j,k=0;
for(i=0;i<=M;i++)
{
k+=Arr[i][i];
k+=Arr[M-i][i];
}
k为和

按顺序取出输入的整数中的偶数组成一个新的数

void fun(int n){
vector<int> vi;
while(n){
if( n % 10 % 2 == 0)
vi.push_back(n % 10);
n /= 10;
}
vector<int>::reverse_iterator riter = vi.rbegin();
for(;vi.rend() != riter; ++riter){
n *= 10;
n += *riter;
}
cout<<n<<endl;
}

#include<stdio.h>

long fun( long n )
{
char num[ 10