编译无错可一运行就出问题是什么原因?

#include "stdio.h"
#include "string.h"
#include "conio.h"
int N=0;
struct stu
{
int xh; /*学号*/
char name[10]; /*姓名*/
double yy; /*英语*/
double mat; /*数学*/
double jsj; /*计算机*/
double wl; /*物理*/
double zf; /*总分*/
}s[20];
void Re_file()
{
FILE *fp;
fp=fopen("bjcjk.txt","r");
while( fscanf(fp,"%d\n%s\n%lf\n%lf\n%lf\n%lf\n%lf\n",
&s[N].xh,s[N].name,&s[N].yy,&s[N].mat,&s[N].jsj,&s[N].wl,&s[N].zf)!=EOF)
N++;
fclose(fp);
}
void Wr_file()
{
int i;
FILE *fp;
fp=fopen("nwejck.txt","w");
for(i=0;i<N;i++)
fprintf(fp,"%d\n%s\n%lf\n%lf\n%lf\n%lf\n%lf\n",
s[i].xh,s[i].name,s[i].yy,s[i].mat,s[i].jsj,s[i].wl,s[i].zf);
fclose(fp);
}
void Js() /*计算总分*/
{
int i;
for(i=0;i<N;i++)
s[i].zf=s[i].yy+s[i].mat+s[i].jsj+s[i].wl;
}
void Sort() /*排序模块*/
{
int j,k;
double ave[20],t;
struct stu m;
Js();
for(k=0;k<N;k++)
ave[k]=s[k].zf/4; /*计算平均分*/
for(k=0;k<N-1;k++)
for(j=k+1;j<N;j++)
if(ave[k]<ave[j])
{
t=ave[k];ave[k]=ave[j];ave[j]=t; /*对平均分排序*/
m=s[k];s[k]=s[j];s[j]=m;
} /*按平均分整体排序*/
} void Disp() /*显示模块*/
{
int i;
printf("******************************************************************************\n");
printf("学号 姓名 英语 数学 计算机 物理 总分");
printf("******************************************************************************\n");
Js();
for(i=0;i<N;i++)
printf("%-13d %-10s %-3lf %-4lf% -11lf% -11lf %-13lf",
s[i].xh,s[i].name,s[i].yy,s[i].mat,s[i].jsj,s[i].wl,s[i].zf);
getchar();
}
void Total() /*统计模块*/
{
double yyzf=0,yypj,wlzf=0,wlpj,matzf=0,matpj,jsjzf=0,jsjpj;
int i,j=0,n,o;
printf("===============================\n");
printf(" 请问你想看哪一门课的成绩?? \n");
printf("===============================\n");
printf("\t1.英语\t2.数学\t3.计算机\t4.物理\n:");
printf("\t\t\t\t\t");
scanf("%d",&n);
switch(n)
{
case 1:
{
printf("===============================================================================\n");
printf("学号 姓名 英语 数学 计算机 物理 总分\n");
printf("===============================================================================\n");
for(i=0;i<N;i++)
yyzf+=s[i].yy;
yypj=yyzf/i;
for(i=0;i<N;i++)
{
if(s[i].yy >=yypj)
{
j++;
printf("%d %s %f %f %f %f %f\n",
s[i].xh ,s[i].name ,s[i].yy ,s[i].mat ,s[i].jsj ,s[i].wl, s[i].zf);
}
}
printf("英语平均分=%f\t\t超过平均的人数为%d个\n",yypj,j);
getchar();break;
}
case 2:
{
printf("===============================================================================\n");
printf("学号 姓名 英语 数学 计算机 物理 总分\n");
printf("===============================================================================\n");
for(i=0;i<N;i++)
matzf+=s[i].mat ;
matpj=matzf/i;
for(i=0;i<N;i++)
{
if(s[i].mat >=matpj)
{
j++;
printf("%d %s %f %f %f %f %f\n",
s[i].xh ,s[i].name ,s[i].yy ,s[i].mat ,s[i].jsj ,s[i].wl, s[i].zf);
}
}
printf("==============================================================\n");
printf(" 数学平均分=%f\t超过平均的人数为%d个\n",matpj,j);
printf("==============================================================\n");
getchar();break;
}
case 3:
{
printf("===============================================================================\n");
printf("学号 姓名 英语 数学 计算机 物理 总分\n");
printf("===============================================================================\n");
for(i=0;i<N;i++)
jsjzf+=s[i].yy;
jsjpj=jsjzf/i;
for(i=0;i<N;i++)
{
if(s[i].jsj >=jsjpj)
{
j++;
printf("%d %s %f %f %f %f %f\n",
s[i].xh ,s[i].name ,s[i].yy ,s[i].mat ,s[i].jsj ,s[i].wl, s[i].zf);
}
}
printf("计算机平均分=%f\t超过平均分的人数为%d个\n",jsjpj,j);
getchar();break;
}
case 4:
{
printf("===============================================================================\n");
printf("学号 姓名 英语 数学 计算机 物理 总分\n");
printf("===============================================================================\n");
for(i=0;i<N;i++)
wlzf+=s[i].wl;
wlpj=wlzf/i;
for(i=0;i<N;i++)
{
if(s[i].wl >=wlpj)
{
j++;
printf("%d %s %f %f %f %f %f\n",
s[i].xh ,s[i].name ,s[i].yy ,s[i].mat ,s[i].jsj ,s[i].wl, s[i].zf);
}
}
printf("物理平均分=%f\t超过平均分的人数为%d个\n",wlpj,j);
getchar();break;
}
}
printf("要显示每一科的平均分吗??\t1、是\t2、否\n");
scanf("%d",&o); if(o==1)
{
yyzf=0;yypj=0;wlzf=0;wlpj=0;matzf=0;matpj=0;jsjzf=0;jsjpj=0;
for(i=0;i<N;i++)
wlzf+=s[i].wl;
wlpj=wlzf/(N-1);
for(i=0;i<N;i++)
jsjzf+=s[i].yy;
jsjpj=jsjzf/(N-1);
for(i=0;i<N;i++)
matzf+=s[i].mat ;
matpj=matzf/(N-1);
for(i=0;i<N;i++)
yyzf+=s[i].yy;
yypj=yyzf/(N-1);
printf("课程\t\t平均分\n");
printf("英语\t\t%f\n",yypj);
printf("数学\t\t%f\n",matpj);
printf("计算机\t\t%f\n",jsjpj);
printf("物理\t\t%f\n",wlpj);
}
}
...全文
相关推荐
Gh0st3.6_VS2010编译无错
编译器在将高级语言转换为机器可执行代码时会检查语法错误、类型不匹配等问题,无错误编译意味着这些潜在问题已被解决。在安全领域,了解这样的恶意软件有助于我们提高防御能力。
wxappUnpacker无错分包版:微信小程序反编译工具
微信小程序作为当下互联网应用的一种流行形态,它在提供便捷服务的同时,也面临了安全和逆向工程的挑战。反编译工具是IT从业者在研究微信小程序和进行安全分析时不可或缺的辅助。本章将简要介绍微信小程序反编译工具的基本概念,它们的作用,以及其在小程序生态系统中的地位和重要性。微信小程序支持将代码和资源分拆到不同包中,在下载时可以按需加载,这样可以减少小程序首次启动时的加载时间,提升用户体验。分包机制允许小程序按照一定规则将业务划分为几个子包,当用户进入小程序的某个页面时,仅需加载当前页面所在的分包即可。
ghost 无错编译源码
总之,"Ghost无错编译源码"是一个涉及系统备份、DDoS攻击和免杀技术的综合性IT知识点,对于深入理解这些领域有着重要的学习价值。
wxappUnpacker-无错分包版.zip
【标题】"wxappUnpacker-无错分包版.zip" 提供的是一个用于小程序反编译的工具,特别优化了处理分包问题。
Gh0st3.6VS2010编译无错版
这个“无错版”意味着开发人员已经修复了所有已知的编译错误,确保程序能够顺利编译并运行。在IT领域,编译是将程序员用高级语言编写的源代码转换为机器可以理解的二进制代码的过程。


