单独对输入进行的编译,输入本身就存在问题,但不知道问题出现在哪

img

img

img

#include <stdio.h>
void fun (long s, long *t);
int main()
{ long s, t;
scanf("%ld", &s);
fun(s, &t);
printf("The result is: %ld\n", t);
return 0;
}

/* 请在这里填写答案 */

#include <stdio.h>
void fun (long s, long *t);
int main()
{ long s, t;
scanf("%ld", &s);
fun(s, &t);
printf("The result is: %ld\n", t);
return 0;
}

/* 请在这里填写答案 */

void fun (long s, long *t)
{
int m=s,n=0,b[100],count=0,temp,index;
for(int i=0;m>0;i++)
{
if((m%10)%2==0)
{
b[i]=m%10;
}
m=m/10;
count++;
}
for(int i=0;i<count-1;i++)
{
index=i;
for(int j=i+1;j<count;j++)
{
if(b[j]>b[index])
{
index=j;
}
}
if(index!=i)
{
temp=b[i];
b[i]=b[index];
b[index]=temp;
}
}
for(int i=0;i<count;i++)
{
t[i]=b[i];
}
}


#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>

void fun(long s, long* t) {
    char a[20], b[20];
    int count = 0;
    sprintf(a, "%ld", s);
    for(int i=0;i<strlen(a);i++)
        switch (a[i])
        {
        case '0':
            b[count] = '0';
            count++;
            break;
        case '2':
            b[count] = '2';
            count++;
            break;
        case '4':
            b[count] = '4';
            count++;
            break;
        case '6':
            b[count] = '6';
            count++;
            break;
        case '8':
            b[count] = '8';
            count++;
            break;
        default:
            break;
        }
    b[count] = '\0';
    *t = atol(b);
}
int main() {
    long  s, t;
    scanf("%ld", &s);
    fun(s, &t);
    printf("t=%ld\n", t);
    return 0;
}