|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 程曦的晨曦 于 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[40];
int n,max;
printf("准备开始输入分数!\n");
for(n=0;n<i;n++)
{
scanf("%d",&a[n]);
max=a[0];
if(a[n]>max)
{
max=a[n];
//这边我原来程序为:
//存在一个中间值temp;temp=a[n];a[n]=max;max=temp;
//但是结果永远是第一个数
}
}
return max;
}
int Max(int i)
{
int a[40];
int n,imax=0;
printf("准备开始输入分数!\n");
for(n=0;n<i;n++)
{
scanf("%d",&a[n]);
if(a[n]>a[imax])
{
imax=n;
}
}
return a[imax];
//你把max的初始化放在循环里,每次循环执行一次就初始化
//自然达不到预期的结果,按你的思路我改了下,希望有所帮助
}
|
|