❶ 新手剛學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結果:如圖
樓主還是要認真的讀讀那本書,我也不知道更好的辦法了!