郑轻oj1059

#include<stdio.h>
#include<string.h>
#include<math.h>
// 输入一批学生的成绩(整数),输出最高分。
//输入包含多个非负整数和一个负整数。该负数不作为有效成绩,只表示输入结束。
//输出一个整数,即最高分。单独占一行。
int main()
{
   //思路://是之前写过的比大小的题的翻版,for循环录入成绩,碰到负数跳出循环,直接把以前的拿来用

   int a[10000]={0};
   int cnt=1;//全/局部变量,全局变量是定义在函数外面,这里写错了
   for(int i=0;/*a[i]>=0*/;)
   {
      scanf("%d",&a[i++]);//在赋值过后i再加1,与++i不一样
      if(a[i-1]<0)
        break;
        cnt++;

   }
    for(int i=0;i<cnt;i++)
        for(int j=i;j<cnt;j++)//每一次开始从a[i]处,类似于像第一次是a[0]与后面所有的比,第二次就是a[1]与后面的所有的比。
        {
            int temp;
            if(a[i]<a[j])
               {
                   temp=a[j];//大数给temp
                   a[j]=a[i];//小数给从第一个循环开始的下一个数
                   a[i]=temp;//把temp给第一个循环对应的数
               }

        }
            printf("%d",a[0]);
       // printf("%d",a[0]);
      //例如给定4个数,第一个循环开始要拿a[0]去和a[1] \a[2]\a[3]去比,把大数给a[0]
      //第二个循环,把第二个数作为次大数,a[1]装着仅比a[0]小或者等于的数,a[1]跟a[2]\a[3],
        //其实写复杂了,搞成从大到小排序了。

    return 0;//今天又是没带return 0的一天
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值