每日题目(萌新)

以下的题目均来自于牛客网

BC120

这个题目主要考察用循环将元素输入数组,并且进行排序

输入元素的代码很简单

int main() {
    int arr[40] = { 0 };
    int num = 0;
    scanf("%d", &num);//输入几名
    for (int k = 0; k <= num; k++) {//输入成绩
        scanf("%d", &arr[k]);
    }

输入后,则需要用一个变量tmp来作为载体进行俩俩的交换

默认第i位为最大值

int temp = 0;//进行交换
    for(int i = 0; i < num; i++) 
     {//第i位为最大数
        for(int j =i+1; j<num; j++) 
         {//从第i+1位开始遍历剩余数
            if(arr[j] > arr[i]) 
             //第一位和后边的数进行比较、第二位与后边、第三位......
             //定一个数,后边的数进行比较,最后会有一个最小的数放在该位置,一个一个数遍历过去就能得到最大值
             {//存在大于最大数的数
              temp = arr[i];//把最大数和比较数进行交换
              arr[i] = arr[j];
              arr[j] = temp;
            }
         }
     }

最后再打印

for (int k = 0; k < 5; k++)
        printf("%d ", arr[k]);
    return 0;
}

这道题的方法就是进行升序排序,且仅进行前五个的输出,那我们就选择用遍历的方法,每一轮都找出一个最小值,这样就可以实现升序的方法。

BC119

这道题,我们可能会想到用数组来储存这n个成绩,然后又进行排序,最后再选出最大值和最小值,进行计算。

但这样会显得特别的繁琐,那我们如何简化?——那就在输入成绩的同时,进行最大值和最小值的选择

#include <math.h>
#include <stdio.h>
int main() 
{
    int n;
     int max=0,min=100;//最小值定为100,最大值定为0
    scanf("%d",&n);
    for(int i=0;i<n;i++)
    {
        int num;
        scanf("%d",&num);//输入的时候就进行定义,且进行比较
        if(num>max)
        {
            max=num;
        }
        if(num<min)
        {
            min=num;
        }
    }
    printf("%d",max-min);
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Nick-An

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值