- 论坛徽章:
- 0
|
我整的,但平均数AVE不正确
- #include "stdio.h"
- #include "conio.h"
- int i,j;
- struct student
- {
- int noname[6];
- char name[8];
- int score[3];
- float ave;
- }stu[2],change;
- void one()
- {
- int sum;
- for(i=0;i<2;i++)
- {
- printf("\nInput score of student %d:\n",i+1);
- printf("NO. :");
- scanf("%s",&stu[i].noname);
- printf("name :");
- scanf("%s",&stu[i].name);
- for(j=0;j<3;j++)
- {
- printf("score %d:",j+1);
- scanf("%d",&stu[i].score[j]);
- sum=sum+stu[i].score[j];
- }
- stu[i].ave=sum/3.0;
- }
- }
- void therr()
- {
- int n;
- n=i;
- for(i=0;i<n;i++)
- for(j=i+1;j<n;j++)
- if(stu[i].ave<stu[j].ave)
- {
- change=stu[i];
- stu[i]=stu[j];
- stu[j]=change;
- }
- }
- main()
- {int n;
- clrscr();
- FILE *fp;
- one();
- therr();
- fp=fopen("d:\\mcutest1\\tc\\stud","w");
- for(i=0;i<2;i++)
- if(fwrite(&stu[i],sizeof(struct student),1,fp)!=1)
- printf("File write error\n");
- for(i=0;i<2;i++)
- {
- fread(&stu[i],sizeof(struct student),1,fp);
- printf("%s,%s,%d,%d,%d,%6.2f\n",stu[i].noname,stu[i].name,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].ave);
- }
- fclose(fp);
- return 0;
- }
复制代码 |
|