C/C++每日一练(20230412) 二维数组找最值、排序

目录

1. 二维数组找最值  🌟🌟

2. 排序  🌟

🌟 每日一练刷题专栏 🌟

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏


1. 二维数组找最值

从键盘输入m(2<=m<=6)行n(2<=n<=6)列整型数据,编程找出其中的最大值及其所在位置的行列下标值并输出。 输入格式: 在第一行输入数据的行数m和列数n的值,从第二行开始以二维数组的形式依次输入m行n列整型数据。 输出格式: 依次输出最大值及其所在位置的行列下标值,中间以逗号,分隔,最后换行。

输入样例:

3 4
1 2 3 4
8 9 7 6
5 6 7 0

输出样例:

9,1,1

以下程序实现了这一功能,请你填补空白处内容:

```c++
#include <stdio.h>
int main()
{
    int a[6][6];
    int m, n;
    int i, j;
    int max;
    int indexx = 0, indexy = 0;
    scanf("%d %d", &m, &n);
    for (i = 0; i < m; i++)
    {
        for (j = 0; j < n; j++)
        {
            scanf("%d", &a[i][j]);
            if (i == 0 && j == 0)
            {
                max = a[i][j];
                indexx = 0;
                indexy = 0;
            }
            else
            {
                _____________;
            }
        }
    }
    printf("%d,%d,%d\n", max, indexx, indexy);
    return 0;
}
```

出处:

https://edu.csdn.net/practice/25405422

代码:

#include <stdio.h>
int main()
{
    int a[6][6];
    int m, n;
    int i, j;
    int max;
    int indexx = 0, indexy = 0;
    scanf("%d %d", &m, &n);
    for (i = 0; i < m; i++)
    {
        for (j = 0; j < n; j++)
        {
            scanf("%d", &a[i][j]);
            if (i == 0 && j == 0)
            {
                max = a[i][j];
                indexx = 0;
                indexy = 0;
            }
            else
            {
				if (a[i][j] > max)
				{
				    max = a[i][j];
				    indexx = i;
				    indexy = j;
				}
            }
        }
    }
    printf("%d,%d,%d\n", max, indexx, indexy);
    return 0;
}

输入输出:

3 4
1 2 3 4
8 9 7 6
5 6 7 0
9,1,1


2. 排序

由键盘上输入n个整数,请将这些数从大到小排序,然后输出排序后的数列。

输入

输入包含两行:

第一行是n(1 <= n <= 1000)。

第二行是n个整数,邻近两数之间用一个空格隔开。

输出

输出排序后的n个整数,邻近两数之间用一个空格隔开。

输入示例

5
8 2 5 1 2

输出示例

8 5 2 2 1

数据范围

输入和输出均为int范围的整数

以下程序实现了这一功能,请你补全空白处内容:

```c++
#include <iostream>
using namespace std;
int main()
{
    int n, tmp;
    cin >> n;
    int *a = new int[n];
    for (int i = 0; i < n; i++)
        cin >> a[i];
    for (int i = 0; i < n - 1; i++)
    {
        for (int j = i + 1; j < n; j++)
        {
            __________________;
        }
    }
    for (int i = 0; i < n; i++)
    {
        cout << a[i];
        if (i != n - 1)
            cout << " ";
    }
    return 0;
}
```

出处:

https://edu.csdn.net/practice/25405423

代码:

#include <stdio.h>
int main()
{
    int a[6][6];
    int m, n;
    int i, j;
    int max;
    int indexx = 0, indexy = 0;
    scanf("%d %d", &m, &n);
    for (i = 0; i < m; i++)
    {
        for (j = 0; j < n; j++)
        {
            scanf("%d", &a[i][j]);
            if (i == 0 && j == 0)
            {
                max = a[i][j];
                indexx = 0;
                indexy = 0;
            }
            else
            {
				if (a[i][j] > max)
				{
				    max = a[i][j];
				    indexx = i;
				    indexy = j;
				}
            }
        }
    }
    printf("%d,%d,%d\n", max, indexx, indexy);
    return 0;
}

输出:

5
8 2 5 1 2
8 5 2 2 1



🌟 每日一练刷题专栏 🌟

持续,努力奋斗做强刷题搬运工!

👍 点赞,你的认可是我坚持的动力! 

🌟 收藏,你的青睐是我努力的方向! 

评论,你的意见是我进步的财富!  

 主页:https://hannyang.blog.csdn.net/

Golang每日一练 专栏

Python每日一练 专栏

C/C++每日一练 专栏

Java每日一练 专栏

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Hann Yang

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

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值