取出一个正整数中的所有偶数数字,用这些数字构成一个最大数,用C语言来边写!!

来源:百度知道 编辑:UC知道 时间:2024/06/04 11:37:24
1,编写函数long fun(long s)
2,编写main 函数接受键盘输入的长整型数

说实话,其实我很不想写,分太少

#include<stdio.h>
long fun(long s)
{
int sum = 0;
long fin = 0,flag = 0;
int a[20] = {0};
for(int i =1; (s/i) != 0; i = i * 10)
++sum;
int temp = i;
for(int j = 0; j < sum; j++)
{
temp = temp / 10;
a[j] = s / temp;
s = s % temp;
}
for(int k = 0; a[k] >= 0; k++)
{
for(j = 0; j < sum-k-1; j++)
{
if(a[j] > a[j+1])
{
int t;
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
}
}
j = 0;
i = 1;
while(j < sum)
{
if(a[j] % 2 == 0)
{
if(a[j] == 0)
{
if(j == 0) ;
else
{
flag = 1;
fin = i*10;
}
}
else
if(flag)
{
fin *= a[j];
flag = 0;
}
else
fin += a[j] * i;
i *= 10;
}
j++;
}
return fin;
}

int main()
{
long