程序員考試補(bǔ)課筆記-第四天
真的不知道為什么,我所有WORD的日期都變了,可是是WORD的宏病毒吧。但是為什么感染上的呢?這下可真奇怪了,我沒(méi)有用過(guò)宏啊。算了,現(xiàn)在沒(méi)有時(shí)間去理會(huì)它了,我要抓緊時(shí)間寫(xiě)完這篇補(bǔ)習(xí)日記。
今天的課程里終于到了重點(diǎn)了,就是算法,因?yàn)椴艅傞_(kāi)始,先從容易的排序算法開(kāi)始說(shuō),抄了一道題目讓我們做,如下:
已有一個(gè)已排序的數(shù)組,今輸入一個(gè)數(shù),要求按原來(lái)的排序規(guī)律將它插入數(shù)組中。
看到了這個(gè)題目我覺(jué)得自己比較有把握,很快的就寫(xiě)了出來(lái),可是誰(shuí)知道我的程序有一個(gè)至命的地方,剛給老師看的時(shí)候還得意洋洋,可是看完指出我的錯(cuò)來(lái)時(shí)真的不好受,既然都錯(cuò)了,就把我所做的那個(gè)答案寫(xiě)下來(lái)吧,也好讓大家比較比較。
#define n 8
main()
{
int a[n];
int i,j,t,s;
for(i=1;i=0;i--)
{
if(n 0; i--)
for(j=0; j a[j+1] { 交換 };
以上的是冒泡法
int n=6,i,j;
for ( i=0; i i; j--)
if(a[j]b)
if(a>c)printf("a";
else if(b>c)printf("b";
else printf("c";
這么一條源程序是否讓你看得不舒服呢,這就是C語(yǔ)言的另一個(gè)特點(diǎn)啊,你知道這條程序的答案嗎?不過(guò)其實(shí)也不難,程序也很短嘛,就讓我說(shuō)出答案好了,答案不就是輸出b嘛,道理很簡(jiǎn)單一看就出了,誰(shuí)?誰(shuí)?誰(shuí)在這里搞亂,答案會(huì)是輸出b 嗎,笨!所以寫(xiě)你功夫還不到家嘛,下面讓整理一下程序
int a=5,b=10,c=8;
if(a>b)
if(a>c)
printf("a";
else
if(b>c)printf("b";
else printf("c";
這樣看清楚了嗎?答案就是什么都沒(méi)有,因?yàn)橐婚_(kāi)始第一個(gè)if語(yǔ)句就不成立了,那里有答案出呢!這里也看出一個(gè)情況,所以我們要陪養(yǎng)好代碼的格式,如果有良好的編碼風(fēng)格就有好的程序。還有我今日又明白了一樣,想看看下面的if語(yǔ)句:
if if
else else if
if else if
else else if
if
else
我原還以為這兩個(gè)是不同的呢,在QB里的印象是兩個(gè)不if語(yǔ)句呢。可是今天就給我弄明白了,大家也應(yīng)該知道吧,可能就是我笨了。
在C語(yǔ)言里swtich也和別的高級(jí)語(yǔ)言不同,你們有發(fā)現(xiàn)嗎?現(xiàn)在看看第四天圖二吧在這個(gè)圖里清楚的說(shuō)明了這個(gè)語(yǔ)句與其的不同之處,而且條件是用常量的,所以老師說(shuō)給我們聽(tīng)他自己也不怎么喜歡用這個(gè)swtich語(yǔ)句。如果用懂了這個(gè)條件運(yùn)算符? : 還真的挺方便的,這個(gè)也是可以無(wú)限嵌套的,這里不多說(shuō)了,讓自己慢慢體會(huì)研究。
真的不知道為什么,我所有WORD的日期都變了,可是是WORD的宏病毒吧。但是為什么感染上的呢?這下可真奇怪了,我沒(méi)有用過(guò)宏啊。算了,現(xiàn)在沒(méi)有時(shí)間去理會(huì)它了,我要抓緊時(shí)間寫(xiě)完這篇補(bǔ)習(xí)日記。
今天的課程里終于到了重點(diǎn)了,就是算法,因?yàn)椴艅傞_(kāi)始,先從容易的排序算法開(kāi)始說(shuō),抄了一道題目讓我們做,如下:
已有一個(gè)已排序的數(shù)組,今輸入一個(gè)數(shù),要求按原來(lái)的排序規(guī)律將它插入數(shù)組中。
看到了這個(gè)題目我覺(jué)得自己比較有把握,很快的就寫(xiě)了出來(lái),可是誰(shuí)知道我的程序有一個(gè)至命的地方,剛給老師看的時(shí)候還得意洋洋,可是看完指出我的錯(cuò)來(lái)時(shí)真的不好受,既然都錯(cuò)了,就把我所做的那個(gè)答案寫(xiě)下來(lái)吧,也好讓大家比較比較。
#define n 8
main()
{
int a[n];
int i,j,t,s;
for(i=1;i=0;i--)
{
if(n 0; i--)
for(j=0; j a[j+1] { 交換 };
以上的是冒泡法
int n=6,i,j;
for ( i=0; i i; j--)
if(a[j]b)
if(a>c)printf("a";
else if(b>c)printf("b";
else printf("c";
這么一條源程序是否讓你看得不舒服呢,這就是C語(yǔ)言的另一個(gè)特點(diǎn)啊,你知道這條程序的答案嗎?不過(guò)其實(shí)也不難,程序也很短嘛,就讓我說(shuō)出答案好了,答案不就是輸出b嘛,道理很簡(jiǎn)單一看就出了,誰(shuí)?誰(shuí)?誰(shuí)在這里搞亂,答案會(huì)是輸出b 嗎,笨!所以寫(xiě)你功夫還不到家嘛,下面讓整理一下程序
int a=5,b=10,c=8;
if(a>b)
if(a>c)
printf("a";
else
if(b>c)printf("b";
else printf("c";
這樣看清楚了嗎?答案就是什么都沒(méi)有,因?yàn)橐婚_(kāi)始第一個(gè)if語(yǔ)句就不成立了,那里有答案出呢!這里也看出一個(gè)情況,所以我們要陪養(yǎng)好代碼的格式,如果有良好的編碼風(fēng)格就有好的程序。還有我今日又明白了一樣,想看看下面的if語(yǔ)句:
if if
else else if
if else if
else else if
if
else
我原還以為這兩個(gè)是不同的呢,在QB里的印象是兩個(gè)不if語(yǔ)句呢。可是今天就給我弄明白了,大家也應(yīng)該知道吧,可能就是我笨了。
在C語(yǔ)言里swtich也和別的高級(jí)語(yǔ)言不同,你們有發(fā)現(xiàn)嗎?現(xiàn)在看看第四天圖二吧在這個(gè)圖里清楚的說(shuō)明了這個(gè)語(yǔ)句與其的不同之處,而且條件是用常量的,所以老師說(shuō)給我們聽(tīng)他自己也不怎么喜歡用這個(gè)swtich語(yǔ)句。如果用懂了這個(gè)條件運(yùn)算符? : 還真的挺方便的,這個(gè)也是可以無(wú)限嵌套的,這里不多說(shuō)了,讓自己慢慢體會(huì)研究。

