这个C语言程序如何实现呢,求解
这个C语言程序如何实现呢,求解
这个C语言程序如何实现呢,求解
#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;
}