C语言学习总结11.13-11.19

又过了一周,这周基本上没有做新题目,acm在这周搞了两次小测试,我的话比较遗憾,两次测试都没有完全正确地做出一道题,但有的题目在听了讲解之后,发现自己确实有一些地方没有想到,而且也有知识运用的错误,这周作业也发现了一些有趣的,好的做题方法。下面来讲讲具体的题目。

1.第一个是课堂测试的题目。题目如下:用户输入二元一次方程组ax+by=M cx+dy=N中a,b,M,c,d,N的值,编程确定方程组是否有解,若有解,判断是否有为一解。

这题目一开始我还没什么想法,竟然生硬地把x和y的值用代数表达式给写了出来,但你会发现,这并没有什么卵用。因为你无法判断方程组是否有解。后来老师提示了一下,要我们用数学方法去想,两个方程就是两条直线,要判断方程是否有解,不就是判断两条直线有没有交点吗?那不就是看斜率吗?是不是很奇妙,至少我当时有些醍醐灌顶。

2.第二个是作业题,题目就是两个整数的最大公约数和最小公倍数。

最大公约数用循环来求,从1开始,直到找到一个能同时被a,b都能整除的数。但最小公倍数确实一开始不知道怎么求,我问了AI,然后得出一个方法,即把a和b相乘,再除以最大公约数,就能得到最小公倍数,然后我自己在草稿本上验证了多组数据,全是对的,我造,这个真的牛逼,以前的数学学习中从来没有接触过这个方法,非常有意义,我便记了下来。

3.这个是第一次测试时的题目,关于中位数的。

这个题重要的是要把中位数从三个数中找出来,一开始我的想法比较垃圾,想着给每组数据进行排序,再把中位数找出来。但这个想法没能实现,后来听了学长讲解,发现使用逻辑运算符就能轻松解决三个数的大小问题,根本用不着取排序啥的

使用逻辑运算符的话思路很清晰,代码也是简洁易懂。

4.下一个是时间的题目

这个题目我觉得要注意的一点是当分钟是个位数时,例如3分钟,只会输出3,不会输出03,我这里卡了很久,然后查了一下资料,找到一个方法,若要输出03,使用“%02d”格式化字符串,它将会在输出时在整数前面补0,宽度为2位,若没有02,则只输出3。

5.今天做了几个比较水的题目,有的题干中说要用函数,但我不会函数的使用,直接按题目的意思做了下来,虽然答案对了,但不会用函数也是个大问题,我等下去考古,把之前acm讲函数的博客翻出来再学一下。这周任务比较多,确实没怎么写题目,下周得赶一赶了。

6.以后做题还是要减少AI的使用,我感觉测试的时候没写出来题目和这个AI使用太频繁也有关系,多和我们寝室那个牛逼的室友讨论讨论,交流学习一下。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值