C语言教程实例:1到100求和
这篇文章主要讲我们介绍如何利用C语言去解决一个简单的数学问题,1+2+...+100=?
C语言教程实例:1到100求和首先我们将问题简化一下,只求1+2=?相信每位同学都能很快的写出c语言的程序。按照以前的思路,我们先写程序模板,然后在指定的地方编写代码即可。
#include
int main(){
int a1 = 1;
int a2 = 2;
int sum =a1 + a2;
return 0;
}
是不是很快就写出了程序代码,既然1+2我们能求,那么1+2+...+100是不是也是同样的道理。
#include
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;
直接一行代码就可以得到答案,这就是数学的魅力哈!所以小伙伴们,要不要好好学习数学!!!
总结
从上面的分析我们知道,在解决一个问题的时候,我们首先想到的大多是一些比较简单的解法,但是随着对问题分析的不断深入,我们可以不断的改进解法,最终会找到适合你自己的解决问题的方法。
-
C语言指针知识点
引导语:在信息工程中,指针是一个用来指示一个内存地址的计算机语言的变量或中央处理器(CPU)中的寄存器(Register)。以下是本站小编分享给大家的C语言指针知识点,欢迎阅读!【考点1】指针变量指针变量是用来存储地址的,而一般变量是存储数值的。指针变量可指向任意一...
-
计算机等级考试二级C语言笔试精选习题
应届毕业生考试网提供了计算机等级考试二级C语言笔试精选习题,帮助考生锻炼解题思路,加深理解知识点。更多资料访问yjbys计算机等级考试网。1、C语言程序的基本单位是____A)程序行B)语句C)函数D)字符、C、12、C语言程序的三种基本结构是____A、顺序结构,选择结构,...
-
嵌入式C语言编程小知识
嵌入式系统是用来控制或者监视机器、装置、工厂等大规模设备的系统。下面为大家整理了一些嵌入式C语言编程小知识,一起来看看吧!1.流水线被指令填满时才能发挥最大效能即每时钟周期完成一条指令的执行(仅指单周期指令)。如果程序发生跳转,流水线会被清空,这将需要...
-
C语言插入排序算法及实例代码
插入排序是排序算法的一种,下面小编为大家整理了C语言插入排序算法及实例代码,希望能帮到大家!这里以从小到大排序为例进行讲解。基本思想及举例说明插入排序的基本思想是,将元素逐个添加到已经排序好的数组中去,同时要求,插入的元素必须在正确的位置,这样原来排序好...