将长整型数各位上的偶数删除,奇数组成新数并输出

#include "stdio.h"
void fun(long s,long *t,int i)  //假设输入:1234567
{
    int d;
    long s1=1;
    *t=0;
    i=0;
    while (s>0)         //遍历输入的每一位数
    {
        d=s%10;         //求得输入的最后一位数  7
        if(d%2==1)      //判断是否为奇数        7%2=1
        {
            *t+=d*s1;   //0=7*1     得出新数组的个位
            s1*=10;     //s1=1*10   得出个位后,s1*10得出十位
        }
        else i++;       //如果if条件不成立(也就是说现在d是偶数)
        s/=10;          //那么原来的数组除10(也就是舍弃掉这一位)
    }
}
void main()
{
    long s,t;
    int x=0;
    scanf("%ld",&s);
    fun(s,&t,x);
    printf("%ld",t);
    printf("\n");
}

你可能感兴趣的:(算法,c语言)