谭浩强的c程序设计 看到算法的时候完全看不懂!
2个回答
展开全部
要回答你这个问题,首先要明确算法的概念,以我看来,初中的数学基础已经可以解决目前现实世界中能够要到的大部分问题。
算法这个东西和数学基础不能说没有关系,但是关系不大,个人认为,初中的数学基础足够了。算法,实际上是给你一个问题,你要解决这个问题的用到的方法和步骤。
不一定数学中才有算法,日常生活中也有呀,比如写一个泡茶的算法:打水(); 烧水();泡茶();把这些函数组装一下就是算法哈,解决问题的方法即为算法。因此,这个和你说的数学基础是没有关系的。问题可能是哪些语法规则什么的,理解不了。C语言是面向过程的,只要把你的想法,按照函数写出来,就把这个算法实现了。
举例:比如求1+2+...+n.
STEP1:首先,我们想,这个写成一个函数吧,就叫sum,这个函数要接收一个参数n,还得返回1到n的和。用c语言翻译下就是int function sum(int n);
STEP2: 最简单的方法就是先算1+2, 然后把1+2的和再+3,知道加到n。翻译下吧,计算是我得知道我加到那个数了,就用i标记下吧,然后,得几下i之前的和,用sum吧。然后我们翻译下我们的算法:(这里得用一个for循环,语法就不讲了)
int sum = 0;
//用一个循环从1加到n。
for(int i=1; i <=n; ++i){
//计算前面几个数的和.
sum = sum + i;
}
这样我们再把这个函数组装一下
int sum(int n){主要是看,你想怎么解决一个问题,那时算法,然后用c语言翻译一下就是c语言算法。
int sum =0;
for (int i = 1; i < n; ++i){
sum = sum +i;
}
return sum;
}
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
MAIN: MOV SP,#50H MOV DPTR,#TAB;读入字模指针 MOV 30H,DPL; 存起来 ;堆栈低8位 MOV 31H,DPH ;堆栈高8位 MOV 32H,30H;再记录指针,留作移动了多少位的判断 用。 MOV 3...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询