求一道计算机c语言题目答案。就是1.2我写的如下,求大神指出错误。

2024-12-15 18:36:23
推荐回答(1个)
回答1:

#include
#include
#include

int F(int s)
{
    int i,n=0,m,t=0,k=0,p;
    p=s;
    n=log10(p)+1;
    for(i=0;i    {
        m=p-p/10*10;
        p=p/10;
        if(m%2!=0&&m!=2)
        {
            t=t+m*pow(10,k);
            k++;
        }
    }
    return(t);//提取一个数中的奇数未排序
}

int T(int s,int a[100])
{
    int i,n,m;
    m=s;
    n=log10(m)+1;
    for(i=0;i    {
        a[i]=m-m/10*10;
        m=m/10;
    }
}

int fun(int *a, int n, int *odd, int *even)
{
    int i,j=0,k=0;

    for(i=0;i    {
        if(a[i]%2!=0) j=j+a[i];//奇数
        if(a[i]%2==0) k=k+a[i];//偶数
    }

    odd=&j;
    even=&k;
}

int main()
{
    int s,t,n,m,a[10],*odd,*even;

    printf("请输入一个数字:");
    scanf("%d",&s);
    t=F(s);
    printf("提取的奇数组成新数字:");
    printf("%d\n",t);


    n=log10(s)+1;
    T(s,a);

    fun(a,n,odd,even);
    printf("%d",odd);
}

错误改了 逻辑没看