#include <stdio.h>
#include <stdlib.h>
#define n 4
struct List
{
char name[20];
int grade;
}stu[n]={{"L",50},{"Z",20},{"W",70},{"K",80}};
void main()
{
int i,l,m,j,c=0,k=0;
for(i=0;i<n;i++)
{
for(j=0;j<20;j++)
{
if(stu[i].name[j]==NULL) l=0;
else l=1;
c=c+l;
}
if(stu[i].grade==NULL) m=1;
else m=0;
k=m+k;
}
if(c==0 && k==n)
printf("信息出错\n");
else
{printf("共有4名学生,成绩是:50,20,70,80\n");
/*
k=100;
for(i=0;i<n-1;i++)
{ if(stu[i].grade<stu[i++].grade)
j=stu[i].grade;
else j=stu[i++].grade;
if(k>j)
l=j; }
printf("%d\n",l);
}}*/
l=xsm(&stu);
printf("成绩最低分是:%d\n",l);
printf("输出成绩:\n");
for(i=0;i<n;i++)
{ if(stu[i].grade==l)m=i;}
stu[m].grade=stu[n-1].grade;
for(i=0;i<n;i++)
printf("%5d",stu[i].grade);
printf("\n");
}
}
int xsm(struct List *x)
{
int i,j,k=100,l;
for(i=0;i<n-1;i++,x++)
{ if(x->grade<x++->grade)
j=x->grade;
else j=x++->grade;
if(k>j)
k=j; }
return(k);
}
为什么k返还不了...