当前位置: 代码迷 >> C语言 >> [求助]为什么会出现乱玛呢
  详细解决方案

[求助]为什么会出现乱玛呢

热度:176   发布时间:2007-02-05 13:53:42.0
[求助]为什么会出现乱玛呢

#include<stdio.h>
struct student
{
char num[6];
char name[10];
float score[3];
float ave;
}stud[50],s;
void main()
{
void display(struct student stud[],int count);
void sort(struct student stud[],int count);

int j,n=0;
float sum;
char ch;
do
{
sum=0;
printf("\n请你输入%d学生的基本信息:\n",n+1);
printf("学号%d:",n+1);
scanf("%s",stud[n].num );
printf("姓名:");
scanf("%s",stud[n].name );
for(j=0;j<3;j++)
{
printf("成绩%d:",j+1);
scanf("%f",&stud[n].score[j]);
sum+=stud[n].score[j];
}
stud[n].ave=sum/(float)3;
printf("是否继续(y/n):");
getchar();
scanf("%c",&ch);
n++;
}while(ch=='y');
display(stud,n);
sort(stud,n);
}
void display(struct student stud[],int count)
{
int i;
printf("\n学生的基本信息如下:\n");
printf("学号 姓名 平均分\n");
printf("--------------------------\n");
for(i=0;i<count;i++)
{
printf("%s %s %.2f\n",stud[i].num,stud[i].name,stud[i].ave);

}
}
void sort(struct student stud[],int count)
{
int i,j;
for(i=0;i<count;i++)
for(j=i+1;j<count;j++)
if(stud[j].ave>stud[i].ave)
{
s=stud[j];
stud[j]=stud[i];
stud[i]=s;
}
printf("\n平均分由大到小学生的基本信息:\n");
printf("学号 姓名 平均分\n");
printf("--------------------------\n");
for(i=0;i<count;i++)
printf("%s %s %.2f\n",stud[i].num,stud[i].name,stud[i].ave);
getch();
}

运行环境:WIN-TC
提示编译正确但运行后出现图示效果,为什么呢?望高手指教


[此贴子已经被作者于2007-2-5 13:55:52编辑过]


----------------解决方案--------------------------------------------------------
菜鸟一个!!!
----------------解决方案--------------------------------------------------------
没热心人吗
----------------解决方案--------------------------------------------------------
很正常

直接用TC编译后的16位程序在windows2000以上无法正确显示中文

可以通过32位编译器,点阵字库+写屏等方式使汉字正常显示
----------------解决方案--------------------------------------------------------

谢谢斑斑


----------------解决方案--------------------------------------------------------
  相关解决方案