❶ 新手刚学C语言基础差 求谭浩强C语言第三版简单算法举例中例子举例详细解答~谢谢各位大神!下面是内容。
接着往下看书3,不要停留在这
❷ 求 算法:C语言实现 的PDF
链接:https://pan..com/s/1VcBvSpXCThxrPDEZtD_9mw
密码:mnep
❸ 《算法:C语言实现(第1-4部分)基础知识、数据结构、排序及搜索(原书第3版)》这本书怎么样
你说的那本书,我没听说过,给你推荐两本,可以肯定要好于你说的这本
无论新手与否,想要成为高手,必须看的书:
1.算法导论
2.计算机程序设计艺术(第*卷)(一共三卷,慢慢看。)
❹ C语言模拟试卷(3)求答案
第一题:
#include"stdio.h"
const int k=6;
void main()
{
int a[k][k]={0};
int i,j;
for(i=0;i<k;i++)
{
for(j=0;j<i+1;j++)
{
if(j==0||j==i)a[i][j]=1;
else a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
for(i=0;i<k;i++)
{
for(j=0;j<i+1;j++)
{
if(a[i][j]!=0)printf("%d\t",a[i][j]);
}
printf("\n");
}
}
第二题:
#include"stdio.h"
void main()
{
int a,b;
scanf("%d%d",&a,&b);
int r=a>b?b:a;
while(a%r!=0||b%r!=0)r--;
printf("最大公约数为:%d\n",r);
}
第三题:
#include"stdio.h"
void main()
{
int n;
scanf("%d",&n);
char a[10];
int i=0;
while(n)
{
a[i]=(char)(n%10+'0');
i++;n/=10;
}
for(n=i-1;n>=0;n--)
printf("%c",a[n]);
printf("\n");
}
❺ 求C算法,排列组合问题。
先对M个数排序,再定位没个数距离最近的参考点的差值,对差值排序(此步骤要比M随机抽取N要节约很多时间复杂度),找出最小差值的N个点。再定位N个数(避免了从M个中抽取N个的随机组合) 。
对你的问题我有个疑问,我觉得有个歧义
1、是要随机抽取N个数一次(注意是一次),然后找到剩余的M-N个数对这N个数的最小参考差值?
2、还是抽取N个数多次(注意是多次,假如M=4,N=1,就必须抽取4次),然后分别找出每次的最小参考差值(多个,M=4,N=1的时候就是有4个最小参考差值)比较,找到最小的参考差值?
是问题1还是问题2
如果是问题1:那么只需要随机抽取一次,不论有多少种抽取可能,你都不用去管,那就是先排序,再抽N个数(只抽一次),找最小差值。
如果是问题2:那么为了避免抽取多次,需要先排序,再比较排序后的所有相邻的数的差值存入另外数组,(例如4(M=9)个数1,3,5,9 ,17,26,36,47,48。则差值为2,2,4,8,9,10,11,1存入数组,如果你要抽取的数N是1,那么最小差值一定是1,如果你要抽取的N是2,那么最小差值是1+2是3,如果你要抽取的N是3则最小差值是1+2+2=5(拿1,5,18),这里有个需要注意的地方:不能拿差值连续的3个数字,比如你要抽取的N是4的时候你想去拿1+2+2+4是不可以的,只能抽出连续的3个数字(2,2,4)中的最大值不要换成另外的最小值,即拿1+2+2+8,这个是原因你可以自己列例子试想下(因为不太好说清楚),此处可看成一段分析结束。)继续下一段分析(当你要拿的数N > (M-1)-[(M-1)/3]的时候需的分析方法(M-1)代表M个数有多少差值,3是因为你不能拿连续的3个差值数,) 未完待续
❻ c语言,数据结构,算法导论三本书的关系是什么,学习它们要有什么基础,以及三者学习先后次序是什么
c 数据结构 算法导论
c不用基础。数据结构和算法导论至少得学一门语言吧。
先学数据结构看算法导论可能会好点。毕竟算法导论很多都涉及数据结构。
而且要看算法导论的话,对语言比较熟悉之后再看比较合适。
❼ c语言程序设计课后习题解答第3版
http://wenku..com/view/3ce7511810a6f524ccbf8508.html
自己下载
很容易
❽ C语言基础算法
因为语句的顺序不一样,所以结果也不一样
第一段
i=i+1; //3=2+1 4=3+1 5=4+1 6=5+1
p=p*i; //3=1*3 12=3*4 60= 12*5 360=60*6
输出为3 , 12 , 60 , 360
第二段
p=p*i; //2=1*2 6=2*3 24=6*4 120=24*5
i=i+1; //3=2+1 4=3+1 5=4+1 6=5+1
输出为2 , 6 , 24 , 120
❾ 推荐一两本C语言算法的好书,谢谢
如果是单单学C语言的话,清华出版社的谭浩强的《C语言程序设计》是首选。
如果你要学算法的话,速成不是一件容易的事。因为算法要学好,数学要有很好的基础。不知道你数学学的怎样了?
我总结一些楼上人的说法吧,因为下面几本书我都看过。
刘汝佳的《算法竞赛入门经典》算是比较符合你速成要求的书,缺点是涵盖内容多而使得算法讲解少。
算法导论是我强烈推荐的书,里面讲解的很详细。但是有时候由于翻译之类的原因,会看不太懂。还有就是他后面的习题虽然在网上找不到一半以上的解答,但是对你理解和应用算法是很有好处的。
严蔚敏的数据结构(C语言版)也是我们的教材,说实话,正如我们老师说的,这是清华大学出版社少有的几本差书。由于改版了,现在还好一些。它是用伪代码描述算法的,有时看起来很不爽。
总结我的建议:看刘汝佳的《算法竞赛入门经典》,看不懂的查查另外两本书,特别是算法导论。还有算法导论后面的思考题建议你多想想。
❿ C语言算法
呵呵,先说说我吧,我买的书给你一个版本的!而且买书时间差不多不超过一个月,现在是高二学生(马上要高三了),学起C语言并没感觉到吃力!而我的一个同学就不同了,我们一起看的我都成了他老师了!当我看他看的时候才发现原因,他的速度是我看的3倍。这可能就是问题的所在了!建议楼主从书的目录开始看,一字一句一个都不少,你会发现结果截然不同!就你所说的所运用的数学知识大多都是逻辑,如果有条件的话希望楼主恶补一下高中数学!但还是那句话,逻辑是程序的灵魂,成绩并不能说明着什么!
如果可以的话希望楼主能买“数据结构”之类的书,对提高逻辑以及C语言有很大的帮助!
这本书的编辑是“谭浩强”教授,是中国响当当的人物,开始我也认为排序不好,但最后发现前面的每一个字都具有非凡的意义!~
你说的那个程序数太大了,我给改为1*2*3*....*10结果:如图
楼主还是要认真的读读那本书,我也不知道更好的办法了!