为了账号安全,请及时绑定邮箱和手机立即绑定

文件的使用,读取乱码了,求大神解答??

文件的使用,读取乱码了,求大神解答??

C C#
才下眉头却上我心头 2016-06-03 09:46:50
//题目要求输入学生信息按总分数排序,存入文件中,再读取输出信息#include <stdio.h>#include<stdlib.h>typedef  struct {   int num ;   char name[10];   int score[15];   int sum;}STU;void summ(STU st[],int n){   int i,j;   for(i=0;i<n;i++)   {  int sum=0;      for(j=0;j<3;j++)       sum+=st[i].score[j];       st[i].sum=sum;   }}void stor(STU st[],int n){   int i,j,k;   STU t;   for(i=0;i<n-1;i++)    {      k=i;      for(j=i+1;j<n;j++)      {  if(st[k].sum<st[j].sum)          k=j;      }    if(k!=i)    { t=st[k];  st[k]=st[i];  st[i]=t;  }     }}int main(){   FILE *fp;    int i,j,n;    STU st[15];    scanf("%d",&n);    printf("输入学生信息:\n");    fp=fopen("class_list.txt","at");    if(fp==NULL)    {    printf("不能打开此文件\n");    getchar(); exit(1);  }  for(i=0;i<n;i++)    {       scanf("%d %s",&st[i].num,st[i].name);        for(j=0;j<3;j++)        scanf("%d",&st[i].score[j]);        summ(st,n);        stor(st,n);        fwrite(&st[i],sizeof(STU),1,fp);    }    fclose(fp);    fp=fopen("class_list.txt","rt");    printf("该班成绩顺序为:\n");    i=0;    while(fread(&st[i],sizeof(STU),1,fp)!=NULL)      {        printf("%d %s %d\n",st[i].num,st[i].name,st[i].sum);        i++;      }      fclose(fp);}
查看完整描述

1 回答

?
Sweetink

TA贡献6条经验 获得超0个赞

设置下编码。

查看完整回答
反对 回复 2016-06-03
  • 1 回答
  • 0 关注
  • 1784 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信