关于#c语言#的问题,请各位专家解答!

这个C语言程序如何实现呢,求解
这个C语言程序如何实现呢,求解
这个C语言程序如何实现呢,求解

img


#include <stdio.h>

typedef struct
{
    int id;
    int zhouq, liusx, gongs;
    float liangpl, chanl;
} Factory;

int main()
{
    int n, i, j;
    scanf("%d", &n);
    Factory t, *fact = (Factory *)malloc(n * sizeof(Factory));
    for (i = 0; i < n; i++)
    {
        scanf("%d%d%d%f", &fact[i].zhouq, &fact[i].liusx, &fact[i].gongs, &fact[i].liangpl);
        fact[i].chanl = fact[i].zhouq * fact[i].liusx * fact[i].gongs * fact[i].liangpl;
        fact[i].id = i + 1;
    }
    for (i = 0; i < n - 1; i++)
    {
        for (j = i; j < n; j++)
        {
            if (fact[i].chanl < fact[j].chanl)
            {
                t = fact[i];
                fact[i] = fact[j];
                fact[j] = t;
            }
        }
    }
    for (i = 0; i < n; i++)
    {
        printf("%d:%d号工厂,%.2f\n", i + 1, fact[i].id, fact[i].chanl);
    }

    system("pause");
    return 0;
}

#include<stdio.h>

struct Con
{
    int num1;//生产周期
    int num2;//流水线
    int num3;//工时
    float num4;//良品率
    double num5;//产量
} num[100];


int main()
{
    int n;
    printf("请输入工厂数量:");
    scanf("%d",&n);
    for(int i=0; i<n; i++)
    {
        printf("请输入第%d个工厂的信息",i+1);
        scanf("%d %d %d %f",&num[i].num1,&num[i].num2,&num[i].num3,&num[i].num4);
        num[i].num5=num[i].num1*num[i].num2*num[i].num3*num[i].num4;
    }
    for(int i=0; i<n-1; i++)
    {
        for(int j=1; j<n; j++)
        {
            if(num[j].num5>num[j-1].num5)
            {
                struct Con c=num[j];
                num[j]=num[j-1];
                num[j-1]=c;
            }
        }
    }
    for(int i=0; i<n; i++)
    {
        printf("%d %d %d %f\n",num[i].num1,num[i].num2,num[i].num3,num[i].num4);
    }
    return 0;
}