本讲我们介绍如何利用C语言去解决一个简单的数学问题,1+2+…+100=?
首先我们将问题简化一下,只求1+2=?相信每位同学都能很快的写出c语言的程序。按照第一讲的思路,我们先写程序模板,然后在指定的地方编写代码即可。
#include <stdio.h>
int main(){
int a1 = 1;
int a2 = 2;
int sum =a1 + a2;
return 0;
}
是不是很快就写出了程序代码,既然1+2我们能求,那么1+2+…+100是不是也是同样的道理。
#include <stdio.h>
int main(){
int a1 = 1;
int a2 = 2;
…
int a100 =100;
int sum =a1 + a2+…+a100;
return 0;
}
(上面的代码并不是完整的代码,其中的省略号部分需要大家自己补全。)
这就是我们解决1到100求和的第一种解法。是不是很有成就感!!!
上面的代码虽然能够解决问题,但是大家在编写代码的时候,是不是感觉有点恼火。
我们来分析一下以上代码的问题,最主要的问题在于我们需要定义101个整型变量,其中100个a1, a2,…, a100还有一个sum。那么是否可以减少变量定义的个数呢?
我们需要变量来保存1,2,…,100但是又不想使用a1,a2, …, a100 这种方式。那么是否可以只使用1个变量就可以呢?即只定义一个变量i,就可以实现保存1,2,…,100。
在经过一番分析之后,我们发现可以利用C语言的循环结构来实现。
int i = 0;
for( i = 1; i <= 100; i++)
上面的代码是不是就可以实现只使用一个变量i就能保存1,2,…,100。
以前我们需要100个变量来保存1,2,…,100现在我们只需要1个变量就可以了,是不是进步了很多。
那么接下来便是如何实现求和呢?
我们可以定义一个变量sum来保存当前最新的求和结果,然后去加i,并将求和的结果更新到sum,那么sum本质就是一个累加器。(如想了解更多,请关注《C语言教程累加器》)
int i = 0;
int sum = 0;
for(i = 1; i <= 100; i++){
sum = sum +i;
}
以上代码是不是很简洁了,那么这是不是最好的答案呢?还可以改进吗?
其实我们还可以有更好的方式,那就是直接使用数学公式就可以求解。
int sum = (1+100)*100 / 2;
直接一行代码就可以得到答案,这就是数学的魅力哈!所以小伙伴们,要不要好好学习数学!!!
从上面的分析我们知道,在解决一个问题的时候,我们首先想到的大多是一些比较简单的解法,但是随着对问题分析的不断深入,我们可以不断的改进解法,最终会找到适合你自己的解决问题的方法。算法与编程之美 公众号将持续为您带来不一样的分析问题解决问题的思路。
买房首套和二套首付金额如何确定 首套房和二套首付比例
首付就是买房时按国家比例第一次支付的最低比例款项,当然支付也可以高于这个额度,但是不能低于它。首付多少需要根据所买房子的总价,及购房者能贷款的额度来确定。不管是新房还是二手房,多数城市的贷款最低首付比(0)人阅读时间:2023-11-19鸡兔同笼问题万能公式(鸡兔同笼问题汇总)
解法1:(兔的脚数×总只数-总脚数)÷(兔的脚数-鸡的脚数) =鸡的只数总只数-鸡的只数=兔的只数解法2:( 总脚数-鸡的脚数×总只数)÷(兔的脚数-鸡的脚数)=兔的只数总只数-兔的只数=鸡的只数解法(0)人阅读时间:2023-11-19中国各个省级行政区的简称和省会(中国各个省级行政区的简称和省会名称)
1.省:黑龙江省—黑(哈尔滨)、吉林省—吉(长春)、辽宁省—辽(沈阳)、河北省—冀(石家庄)、甘肃省—甘(兰州)、青海省—青(西宁)、陕西省—陕(西安)、河南省—豫(郑州)、山东省—鲁(济南)、山西省(0)人阅读时间:2023-11-19现在多少岁结婚才算晚婚 现在多少岁结婚才算晚婚晚育
到底多少岁结婚才算晚婚呢?经常听说大龄女青年,大龄男青年,其实对于不同的朝代,不同的地区都是不一样的,以当下我国来说,女性20周岁,男性22周岁,为法定结婚年龄。所谓晚婚也就是28岁后,不管男女,不管(0)人阅读时间:2023-11-19买房首套和二套首付金额如何确定 首套房和二套首付比例
首付就是买房时按国家比例第一次支付的最低比例款项,当然支付也可以高于这个额度,但是不能低于它。首付多少需要根据所买房子的总价,及购房者能贷款的额度来确定。不管是新房还是二手房,多数城市的贷款最低首付比..2023-11-191到100求和C语言程序 从1到100求和的c语言编程
本讲我们介绍如何利用C语言去解决一个简单的数学问题,1+2+…+100=? 首先我们将问题简化一下,只求1+2=?相信每位同学都能很快的写出c语言的程序。按照第一讲的思路,我们先写程序模板,然后在指定..2023-11-19鸡兔同笼问题万能公式(鸡兔同笼问题汇总)
解法1:(兔的脚数×总只数-总脚数)÷(兔的脚数-鸡的脚数) =鸡的只数总只数-鸡的只数=兔的只数解法2:( 总脚数-鸡的脚数×总只数)÷(兔的脚数-鸡的脚数)=兔的只数总只数-兔的只数=鸡的只数解法..2023-11-19中国各个省级行政区的简称和省会(中国各个省级行政区的简称和省会名称)
1.省:黑龙江省—黑(哈尔滨)、吉林省—吉(长春)、辽宁省—辽(沈阳)、河北省—冀(石家庄)、甘肃省—甘(兰州)、青海省—青(西宁)、陕西省—陕(西安)、河南省—豫(郑州)、山东省—鲁(济南)、山西省..2023-11-19