数组中一个简单问题,希望大佬们帮帮忙
本帖最后由 程曦的晨曦 于 2021-7-14 15:44 编辑这是一个求最高分的简单程序,要求从键盘输入学生和分数,然后输出最高分
(疑惑在程序里面标出来了)
#include<stdio.h>
int Max(int );
int main()
{
int i,j;
printf("请从键盘输入学生数目:\n");
scanf("%d",&i);
if(i<=0)
{
return -1;
}
else
{
j=Max(i);
printf("最高分=%d\n",j);
}
}
int Max(int i)
{
int a;
intn,max;
printf("准备开始输入分数!\n");
for(n=0;n<i;n++)
{
scanf("%d",&a);
max=a;
if(a>max)
{
max=a;
//这边我原来程序为:
//存在一个中间值temp;temp=a;a=max;max=temp;
//但是结果永远是第一个数
}
}
return max;
} 你先全部录入呀
你边录入进数组 边排序怎么能行 int Max(int i)
{
int a;
intn,imax=0;
printf("准备开始输入分数!\n");
for(n=0;n<i;n++)
{
scanf("%d",&a);
if(a>a)
{
imax=n;
}
}
return a;
//你把max的初始化放在循环里,每次循环执行一次就初始化
//自然达不到预期的结果,按你的思路我改了下,希望有所帮助
}
放肆暧昧 发表于 2021-7-14 21:32
int Max(int i)
{
int a;
好的,谢谢我明白了
放肆暧昧 发表于 2021-7-14 21:32
int Max(int i)
{
int a;
非常感谢,我明白了{:10_254:} 万千只cnm 发表于 2021-7-14 19:07
你先全部录入呀
你边录入进数组 边排序怎么能行
感谢感谢
页:
[1]