如数组中的数为72 70 80 75 88 62 77
那么你的程序得到的结果就是77
你的程序可以这样改:
int i;
int m=stu[0]sx;
//int e;
for(i=1;i<=10;i++)
{
if(stu[i]sx>m)
m=stu[i]sx; //将e改为m
//else
//{
//e=m;
//}
}
printf("数学最高分是:%d",e);
}查找最大值,恁简单的算法。
int nMaxIndex=0;
for(int i=0;i<=10;i++)
{
if(stu[i]sx>stu[nMaxIndex]sx)
nMaxIndex=i;
}
stu[nMaxIndex]就是最大的。代码设计思路就不对
应该定义成数组
然后
先循环输入五个试题
接下来读取命令 1 2 3
根据命令 1 对应查找 2 对应修改 3对应删除
输入标识号
然后 查找到要查找/修改/删除的试题
对于查找 直接输出即可
对于修改 再对这个试题做一次输入
对于删除, 将试题删掉。struct student
{
char NO[2];
char name[9];
int chinese;
int math;
};
main函数:char name[10];
两个地方的name长度不一。如果运行输入9个字符,struct 里面的name就没有结尾的'\0'
两个name要定义足够长,并且等长。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)