2题C语言题,谢谢啦,可以用点C++,满意加分,急!!!

2024-11-02 01:32:11
推荐回答(2个)
回答(1):

第二题没图啊少年。

第一题:(C++)

#include 
#include 
#include 

using namespace std;

int a[1005],b[1005],flag[1005];

int judge(int a,int b)
{
    int num[10];
    for(int i = 0; i < 10; i++) num[i] = 0;
    while(a) {
        num[a % 10] ++;
        a /= 10;
    }
    while(b) {
        num[b % 10] --;
        b /= 10;
    }
    for(int i = 0; i < 10; i++) {
        if(num[i] != 0) return 0;
    }
    return 1;
}

int main()
{
    int n,t,k;
    scanf("%d", &t);
    while(t--) {
        scanf("%d", &n);
        k = 0;
        for(int i = 0; i < n; i++) {
            scanf("%d", &a[i]);
        }
        memset(flag, 0, sizeof(flag));
        for(int i = 0; i < n; i++) {
            for(int j = i + 1; j < n; j++) {
                if(judge(a[i], a[j])) flag[i] = flag[j] = 1;
            }
        }
        for(int i = 0; i < n; i++) {
            if(!flag[i]) b[k++] = a[i];
        }
        if(k == 0) {
            puts("None");
            continue;
        }
        sort(b, b + k);
        for(int i = 0; i < k; i++) {
            printf("%d%c", b[i], i == k - 1 ? '\n' : ' ');
        }
    }
    return 0;
}

回答(2):

收费帮你做,愿意私信我。