高手(关于结构)
求助高手(关于结构)
struct table man[20];
{
char name[10];
int score;
};
#include<stdio.h>
void main()
{ char a[100];
int i,j,n,i,temp;
scanf("%d\n",&n);
for(i=0;i<n;i++)
{
gets(a);
for(j=0;a[j]!=',',j++)
man[i].name[j]=a[j];
man[i].score=(a[j+1]-'0')*10+a[j+2]-'0';
}
for(i=0;i<n-1;i++)
{
r=i;
for(j=i+1;j<n;j++)
if(man[j].score>man[i].score)
r=j;
temp=man[i].score
man[i].score=man[r].score;
man[r].score=temp;
}
for(i=0;i<n;i++)
printf("%s,%d\n",man[i].name,man[i].score);
}
我这个程序编译总是不成功,但我不知道错在哪里,求帮看看
------解决方案--------------------
#include<stdio.h>
struct table
{
char name[10];
int score;
};
table man[20];
void main()
{ char a[100];
int r,j,n,i,temp;
scanf("%d\n",&n);
for(i=0;i<n;i++)
{
gets(a);
for(j=0;a[j]!=',';j++)
man[i].name[j]=a[j];
man[i].score=(a[j+1]-'0')*10+a[j+2]-'0';
}
for(i=0;i<n-1;i++)
{
r=i;
for(j=i+1;j<n;j++)
if(man[j].score>man[i].score)
r=j;
temp=man[i].score;
man[i].score=man[r].score;
man[r].score=temp;
}
for(i=0;i<n;i++)
printf("%s,%d\n",man[i].name,man[i].score);
}
可以编译通过了~~
你这太多的错误,全是小问题,我就不一一指出了,自己对着我这看吧~~
关于结构体定义结构数组,可以这样,先定义结构体,然后定义结构体对象的数组就好了~~
struct table
{
char name[10];
int score;
};
table man[20];
------解决方案--------------------
struct table man[20];
{
char name[10];
int score;
};
#include<stdio.h>
void main()
{ char a[100];
int i,j,n,i,temp;
scanf("%d\n",&n);
for(i=0;i<n;i++)
{
gets(a);
for(j=0;a[j]!=',',j++)
man[i].name[j]=a[j];
man[i].score=(a[j+1]-'0')*10+a[j+2]-'0';
}
for(i=0;i<n-1;i++)
{
r=i;
for(j=i+1;j<n;j++)
if(man[j].score>man[i].score)
r=j;
temp=man[i].score
man[i].score=man[r].score;
man[r].score=temp;
}
for(i=0;i<n;i++)
printf("%s,%d\n",man[i].name,man[i].score);
}
我这个程序编译总是不成功,但我不知道错在哪里,求帮看看
------解决方案--------------------
#include<stdio.h>
struct table
{
char name[10];
int score;
};
table man[20];
void main()
{ char a[100];
int r,j,n,i,temp;
scanf("%d\n",&n);
for(i=0;i<n;i++)
{
gets(a);
for(j=0;a[j]!=',';j++)
man[i].name[j]=a[j];
man[i].score=(a[j+1]-'0')*10+a[j+2]-'0';
}
for(i=0;i<n-1;i++)
{
r=i;
for(j=i+1;j<n;j++)
if(man[j].score>man[i].score)
r=j;
temp=man[i].score;
man[i].score=man[r].score;
man[r].score=temp;
}
for(i=0;i<n;i++)
printf("%s,%d\n",man[i].name,man[i].score);
}
可以编译通过了~~
你这太多的错误,全是小问题,我就不一一指出了,自己对着我这看吧~~
关于结构体定义结构数组,可以这样,先定义结构体,然后定义结构体对象的数组就好了~~
struct table
{
char name[10];
int score;
};
table man[20];
------解决方案--------------------
- C/C++ code
struct table man[20]; // 1. 这里绝对不可以加分号,2. 定义结构体数组也能在这里 { char name[10]; int score; }; 参考做法: struct table { char name[10]; int score; }; struct table man[20];