c语言作业 求改 在线等!!

[复制链接]
查看11 | 回复1 | 2010-5-26 10:24:44 | 显示全部楼层 |阅读模式
#include
typedef struct student
{ char num[10];
char name[20];
float math;
float eng;
float com;
float ave;
}STU;
STU stu[5];
int n=5;
float l,k,t=0;
float ri1,ri2,ri3,ri4,x;
void input(void)
{ int i;
for(i=0;istu[tm].ave)

tm=j;

temp=stu;

stu=stu[tm];

stu[tm]=temp;
}
}
void unpased(void)
{ int i;

for(i=0;i<n;i++)
{ if(stu.math<60)
l++;

}
ri1=100*(5-l)/5;

for(i=0;i<n;i++)
{ if(stu.eng<60)
k++;

}
ri2=100*(5-k)/5;

for(i=0;i<n;i++)
{ if(stu.com<60)
t++;

}
ri3=100*(5-t)/5;
x=l+k+t;
ri4=100*(5*3-x)/(5*3);
}
void browes(void)
{ int i=0;
printf("\n姓名 学号
数学
英语 计算机平均\n");
for(i=0;i<n;i++)
{ printf("%-8s%-8s%-8.1f%-8.1f%-8.1f%-8.1f",stu.name,stu.num,stu.math,stu.eng,stu.com,stu.ave);
printf("\n\n");
}
printf("%d个学生未通过数学\n",l);
printf("数学通过率:%d%%\n",ri1);
printf("%d个学生未通过英语\n",k);
printf("英语通过率:%d%%\n",ri2);
printf("%d个学生未通过计算机\n",t);
printf("计算机通过率:%d%%\n",ri3);
printf("共未通过科数:%d\n",x);
printf("总通过率:%d%%\n",ri4);
}
void main()
{ input();
stdavg();
sort();
unpased();
browes();
savescore();
loadscore();
}
不会返还数据啊
最后的通过率等等都是0
急求啊!!
就这点分了
帮帮忙吧

回复

使用道具 举报

千问 | 2010-5-26 10:24:44 | 显示全部楼层
把这几个变量定义成intint l,k,t;int ri1,ri2,ri3,ri4,x或者输出时候加一个强制转换就好了..............................
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行