到底哪里错; ????帮忙下各位
#include<stdio.h>
int count=0;
struct student
{
char ming[55]; //姓名
float cheng; //成绩
float zong; //总分
}stu[5]; //声明一个结构变量
//函数部分
struct student shuru();
void xianshi(struct student stu[]);
void paixu(struct student stu[]);
void charu(struct student stu[]);
int main()
{
char ch,cj,ck;
printf("\t\t\t自己的小程序\n\n");
printf("以下为个人信息\n\n");
do{
stu[count]=shuru();
printf("是否继续 (y/n)");
fflush(stdin); //输入
ch=getchar();
count++;
}while(ch=='y'||ch=='Y');
printf("\n接 下 来 我 们 来 按 总 分 排 序\n");
printf("\n排 序 前 的 顺 序 如 下\n\n");
xianshi(stu); //调用 显示 函数
printf("\n排 序 后 的 顺 序 如 下 \n\n");
paixu(stu); //调用 排序 函数
xianshi(stu); //调用 显示 函数
printf("是否需要插入新的成员呢?????\n");
fflush(stdin);
cj=getchar();
while(cj=='y'||cj=='Y')
{
charu(stu);
printf("是否需要继续插入?Y or N ");
fflush(stdin);
cj=getchar();
}
}
struct student shuru() //输入
{
int i;
float sum=0;
printf("请输入姓名\n\n");
fflush(stdin);
gets(stu[count].ming);
printf("三门成绩:");
for(i=0;i<3;i++)
{
printf("\n成绩%d:",i+1);
fflush(stdin);
scanf("%f",&stu[count].cheng);
sum = sum+stu[count].cheng;
}
return stu[count];
}
void paixu(struct student stu[]) //排序
{
struct student t;
int i,j;
for(i=0;i<count;i++)
{
for(j=0;j<count-i-1;j++)
{
if(stu[j].zong<stu[j+1].zong)
{
t=stu[j];
stu[j]=stu[j+1];
stu[j+1]=t;
}
}
}
}
void xianshi(struct student stu[]) //显示
{
int i;
printf("姓名\t成绩\t总分\n");
for(i=0;i<count;i++)
{
printf("%s",stu[i].ming);
printf("\t%.0f",stu[i].cheng);
printf("\t%.0f",stu[i].zong);
printf("\n");
}
}
void charu(struct student stu[]) //插入
{
int i;
int j;
struct student a ;
printf("请输入要插入成员的信息\n");
a=shuru();
for(i=0;i<5;i++)
{
if(stu[i].zong>a.zong)
break;
}
for(j=5;j>i;j--)
{
stu[j]=stu[j-1];
}
count++;
printf("\n插入新学员后的信息如下:\n");
paixu(stu);
xianshi(stu);
}
为什么输出的总分是0?????????????赋值不了?
[此贴子已经被作者于2007-10-28 23:06:16编辑过]