在齐鲁工业大学学习物联网半年的收获

        不知不觉大一上半年马上就要过去了,上一篇博客还是还没有踏进大学校园写的,当初设想的两个星期就整理一次自己的学习成果也没有作数(确实是有点懒),现在马上放假了,想到再写一篇博客来记录自己的成长。

        其实这一年的收获还是挺多的,除了大家都会学习的通识课之外,最让我感到着迷的还是C语言,对比我的大多数同学我还是有一点基础的(因为我在假期里自学了一点,其实回想起来只学到的东西其实很少,但是只要懂一点在学的时候就会很有帮助),所以我在学习的时候遇到的困难并没有很多。相反我对于将一个很复杂的问题交给计算机去处理的感觉感到着迷。C语言难的从来不是语法,而是解决问题的思想,一旦养成了解决问题的思想,编程就会变得非常迷人。

  

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n, m, i, j;
    printf("请输入行:\n");
    scanf("%d", &n);
    printf("请输入列:\n");
    scanf("%d", &m);
    int a[n][m];
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < m; j++)
        {
            scanf("%d", &a[i][j]);
        }
    }
    int max_p, min_l, maxj, mini;
    int ispoint = 0, k;
    for (i = 0; i < n; i++)
    {
        max_p = a[i][0];
        maxj = 0; //列号
        //找到第i行中最大的值
        for (j = 0; j < m; j++)
        {
            if (a[i][j] > max_p)
            {
                max_p = a[i][j];
                maxj = j;
            }
        }
        //该列号下的最小值

        min_l = a[0][maxj];
        mini = 0;
        for (k = 0; k < n; k++)
        {
            if (min_l > a[k][maxj])
            {
                min_l = a[k][maxj];
                mini = k; //最小值的行号
            }
        }
        if (mini == i)
        {
            printf("a[%d][%d]=%d\n", mini, maxj, a[mini][maxj]);
            ispoint = 1;
        }
    }
    if (ispoint != 1)
        printf("None");

    return 0;
}

        第一个是我老师给出的示例,第二个是我自己写出的代码。这是一个求二维数组鞍点的问题,两个代码虽然都能解决问题,但是第一个只用了一屏的代码,而且他的思路非常简洁,这真的惊艳到了我,就像雷军说的那样,有的代码像诗一样。第一个无论是性能还是简洁来说,都完胜了第二个。

        这样的例子还有很多,老师常常在随堂测试的时候对于一个问题提出一个让人疯狂的写法,让人欲罢不能,我真的好想成为他那样的人。人们常说程序员是理工科死宅,可是我却深深沉醉于一丝不苟的逻辑中。不会有一点圆滑,那里面的世界真的比外面单纯简单好多。图灵不是发明了计算机,他是创造了一个与世无争的世界。与外界毫无联系,将你的想法输入进去,他就会一丝不苟的执行,我想把它称为强硬的理性。对于能走到里面去的人们,这真的很迷人。

        对于下个学期的学习,我充满期待,我要继续探索这 "yushiwuzhen"的世界。

  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值