浏览量 1
说起来你们可能不信,今天自己没有选择“剁手”,不是被马爸爸忽悠去买买买了,而是选择孤独的写着代码,本来啥也没有,要是连代码都撸不成了,那就没救了,不知道在座的各位有没有抢到红包,买到东西,护住钱包,选择剁手呢?买东西,别听马爸爸说打折,就有点控制不住自己了,量力而行,买些该买的,当然能抢到便宜又好的东西,那还是不错的,当然了,如果说你有钱,就是想给马爸爸贡献点数据,那请随意,还有时间赶紧的。好吧,闲扯到这,上代码,这里就是开辟空间的时候注意下就行了,指针也需要地址存放的,如果有错的地方,欢迎指正,互相学习。
代码语言:javascript复制#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct student
{
int id;
char *pname;
int score;
}*pstd;
int main()
{
int i,j,k,m;
char name[20];
struct student stu[5];
struct student tmp;
pstd=(struct student *)malloc(sizeof(struct student));
if(pstd==NULL){
printf("%sn","failed");
}else{
for(i=0;i<5;i ){
scanf("%d",&stu[i].id);
scanf("%s",name);
stu[i].pname=(char *)malloc(20*sizeof(char));
strcpy(stu[i].pname,name);
scanf("%d",&stu[i].score);
}
}
printf("%sn%dn",stu[2].pname,stu[4].score);
tmp.pname=(char *)malloc(20*sizeof(char));
for(j=0;j<4;j ){
for(k=0;k<5-j-1;k ){
if(stu[k].score>stu[k 1].score){
tmp=stu[k];
stu[k]=stu[k 1];
stu[k 1]=tmp;
}
}
}
for(m=0;m<5;m ){
printf("%s%dn",stu[m].pname,stu[m].score);
free(stu[m].pname);
}
free(pstd);
return 0;
}