程曦的晨曦 发表于 2021-7-14 15:36:01

数组中一个简单问题,希望大佬们帮帮忙

本帖最后由 程曦的晨曦 于 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;
      
}

万千只cnm 发表于 2021-7-14 19:07:32

你先全部录入呀
你边录入进数组 边排序怎么能行

放肆暧昧 发表于 2021-7-14 21:32:12

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:46:20

放肆暧昧 发表于 2021-7-14 21:32
int Max(int i)
{
      int a;


好的,谢谢我明白了

程曦的晨曦 发表于 2021-7-14 21:51:13

放肆暧昧 发表于 2021-7-14 21:32
int Max(int i)
{
      int a;


非常感谢,我明白了{:10_254:}

程曦的晨曦 发表于 2021-7-14 21:59:40

万千只cnm 发表于 2021-7-14 19:07
你先全部录入呀
你边录入进数组 边排序怎么能行

感谢感谢
页: [1]
查看完整版本: 数组中一个简单问题,希望大佬们帮帮忙