[PTA]7-107 找出最小值(C语言)

本题要求编写程序,找出给定一系列整数中的最小值。

输入格式:
输入在一行中首先给出一个正整数n,之后是n个整数,其间以空格分隔。

输出格式:
在一行中按照“min = 最小值”的格式输出n个整数中的最小值。

输入样例:
4 -2 -123 100 0
输出样例:
min = -123

我的代码:

#include <stdio.h>
int main()
{
    int n,i,min=0;
    scanf("%d",&n);
    int a;
    scanf("%d",&a);
    min=a;
    for(i=1;i<n;i++){
        scanf("%d",&a);
        if(a<min)
        {
            min=a;
        }
    }
    printf("min = %d",min);
    return 0;
}

做相似题小小总结:
这题,没有给输入的数的上限,所以要将一个输入的数赋给min,然后去和接下来的数比较。
如果有上限,比如输入的数范围-100<a<100,那就int min=101,然后再去比较赋值。

最后注意输出格式min = balabal…
这坑我也经常跳

最开始int min;不初始化也没问题

这题,有个循环,我写成这样:
for(i=1;1<n;i++){…
哭笑,之前死活看不出哪里有问题,然后就是没办法输出答案

### C语言实现查找矩阵最小值位置的方法 为了在C语言中实现查找矩阵中的最小值及其位置的功能,可以按照如下方法编写代码: 定义一个二维数组来存储矩阵数据,并通过双重循环遍历整个矩阵以找到其中的最小值以及该值所在的行列索引。下面是一个具体的例子[^1]。 ```c #include <stdio.h> int main() { int matrix[10][10]; int rows, cols; // 输入矩阵大小 printf("请输入矩阵的行数和列数:\n"); scanf("%d%d", &rows, &cols); // 输入矩阵元素 printf("请输入矩阵元素:\n"); for (int i = 0; i < rows; ++i) { for (int j = 0; j < cols; ++j) { scanf("%d", &matrix[i][j]); } } // 初始化最小值为第一个元素 int minVal = matrix[0][0]; int minX = 0, minY = 0; // 遍历寻找最小值的位置 for (int i = 0; i < rows; ++i) { for (int j = 0; j < cols; ++j) { if (matrix[i][j] < minVal) { minVal = matrix[i][j]; minX = i; minY = j; } } } // 输出结果 printf("矩阵中的最小值是:%d,在第 %d 行,第 %d 列。\n", minVal, minX + 1, minY + 1); } ``` 这段代码首先读入了一个指定尺寸的矩阵,接着初始化`minVal`变量用于保存当前发现的最小值,并设定了两个整型变量`minX`和`minY`用来记录这个最小值所在的具体坐标。之后利用嵌套循环逐一遍历每一个元素并与已知最小值比较;一旦遇到更小的新数值,则更新这三个变量直到完成全部扫描为止。最后打印出最终得到的结果即可。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值