关于C语言结构体的定义和使用?
#include<stdio.h>struct{doublea;//宝物的体积doubleb;//宝物的价值doublec;//宝物单位价值}grp[100],l;int...
#include<stdio.h>
struct{
double a;//宝物的体积
double b;//宝物的 价值
double c;//宝物单位价值
}grp[100],l;
int main()
{
double volume;// 袋子体积
int numble;//宝物的量
int max;
int t;
int i2=0;
double sum=0;
int flo=1;
scanf("%lf %d",&volume, &numble);
for(int i=0;i<numble;i++){
scanf("%lf %lf",&grp[i].a, &grp[i].b);
grp[i].c=grp[i].b/grp[i].a;//printf("%lf\n",grp[i].c);
}
for(int i1=0;i1<numble-1;i1++){
for(int i4=i1+1;i4<numble;i4++){
if(grp[i1].c<grp[i4].c){
l=grp[i4];
grp[i4]=grp[i1];
grp[i1]=l;
}
}
}
for(int i3=0;i3<numble;i3++){
//scanf("%lf %lf",&grp[i].a, &grp[i].b);
//grp[i].c=grp[i].b/grp[i].a;
//printf("%lf %lf %lf,%lf\n",grp[i3].c,grp[i3].b,grp[i3].a,volume);
}
if(numble==1)sum=grp[0].c*volume;else{
while(flo!=0){
if(grp[i2].a>volume){
sum=sum+grp[i2].c*volume;//printf("%lf\n",sum);
flo=0;
}
else{
if(i2==numble-1){
sum=grp[i2].c*grp[i2].a+sum;flo=0;
}
else{
sum=sum+grp[i2].c*grp[i2].a;
volume=volume-grp[i2].a;
i2++;}
}
} }
printf("%.2lf\n",sum);
}
为什么我的定义成这样也可以?不是应该struct str xx[]{
};的嘛 展开
struct{
double a;//宝物的体积
double b;//宝物的 价值
double c;//宝物单位价值
}grp[100],l;
int main()
{
double volume;// 袋子体积
int numble;//宝物的量
int max;
int t;
int i2=0;
double sum=0;
int flo=1;
scanf("%lf %d",&volume, &numble);
for(int i=0;i<numble;i++){
scanf("%lf %lf",&grp[i].a, &grp[i].b);
grp[i].c=grp[i].b/grp[i].a;//printf("%lf\n",grp[i].c);
}
for(int i1=0;i1<numble-1;i1++){
for(int i4=i1+1;i4<numble;i4++){
if(grp[i1].c<grp[i4].c){
l=grp[i4];
grp[i4]=grp[i1];
grp[i1]=l;
}
}
}
for(int i3=0;i3<numble;i3++){
//scanf("%lf %lf",&grp[i].a, &grp[i].b);
//grp[i].c=grp[i].b/grp[i].a;
//printf("%lf %lf %lf,%lf\n",grp[i3].c,grp[i3].b,grp[i3].a,volume);
}
if(numble==1)sum=grp[0].c*volume;else{
while(flo!=0){
if(grp[i2].a>volume){
sum=sum+grp[i2].c*volume;//printf("%lf\n",sum);
flo=0;
}
else{
if(i2==numble-1){
sum=grp[i2].c*grp[i2].a+sum;flo=0;
}
else{
sum=sum+grp[i2].c*grp[i2].a;
volume=volume-grp[i2].a;
i2++;}
}
} }
printf("%.2lf\n",sum);
}
为什么我的定义成这样也可以?不是应该struct str xx[]{
};的嘛 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询