真的不知道为什么,我所有WORD的日期都变了,可是是WORD的宏病毒吧。但是为什么感染上的呢?这下可真奇怪了,我没有用过宏啊。算了,现在没有时间去理会它了,我要抓紧时间写完这篇补习日记。 今天的课程里终于到了重点了,就是算法,因为才刚开始,先从容易的排序算法开始说,抄了一道题目让我们做,如下: 已有一个已排序的数组,今输入一个数,要求按原来的排序规律将它插入数组中。 看到了这个题目我觉得自己比较有把握,很快的就写了出来,可是谁知道我的程序有一个至命的地方,刚给老师看的时候还得意洋洋,可是看完指出我的错来时真的不好受,既然都错了,就把我所做的那个答案写下来吧,也好让大家比较比较。 #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语言的另一个特点啊,你知道这条程序的答案吗?不过其实也不难,程序也很短嘛,就让我说出答案好了,答案不就是输出b嘛,道理很简单一看就出了,谁?谁?谁在这里搞乱,答案会是输出b 吗,笨!所以写你功夫还不到家嘛,下面让整理一下程序 int a=5,b=10,c=8; if(a>b) if(a>c) printf("a"; else if(b>c)printf("b"; else printf("c"; 这样看清楚了吗?答案就是什么都没有,因为一开始第一个if语句就不成立了,那里有答案出呢!这里也看出一个情况,所以我们要陪养好代码的格式,如果有良好的编码风格就有好的程序。还有我今日又明白了一样,想看看下面的if语句: if if else else if if else if else else if if else 我原还以为这两个是不同的呢,在QB里的印象是两个不if语句呢。可是今天就给我弄明白了,大家也应该知道吧,可能就是我笨了。 在C语言里swtich也和别的高级语言不同,你们有发现吗?现在看看第四天图二吧在这个图里清楚的说明了这个语句与其的不同之处,而且条件是用常量的,所以老师说给我们听他自己也不怎么喜欢用这个swtich语句。如果用懂了这个条件运算符? : 还真的挺方便的,这个也是可以无限嵌套的,这里不多说了,让自己慢慢体会研究。
|