楊英翔 許崇
摘 要:作者多年從事計算機應用技術研究和教學,在C語言程序設計的教學過程中,作者一直在探索激發(fā)學生學習興趣、降低課程難度、提高學習成績的有效途徑,并提出自己的一些做法供同行們參考。
關鍵詞:C語言;教法;計算機
1 冒泡排序法排序
程序說明:
這個程序里我們經常提到的”冒泡排序法”,是C語言里很典型的一道題,講解這道題的重點應該放在算法分析上。
練習方法:
(1).程序原型:
#include
#include
#include
#include
main()
{
system(“color 2f”);
system(“title ---冒泡排序法");
system(“mode con cols=130 lines=40”);
int m[256],i,j,t,k;
printf(“\n\n 輸入10個數:\n\n ");
for(i=0;i<10;i++)
{
scanf(“%d”,&m;[i]);
}
printf(“\n您輸入的數組—————\n");
for(i=0;i<10;i++)
{
printf(“%5d”,m[i]);
}
for(i=0;i<9;i++)
{
for(j=0;j<9-i;j++)
{
if(m[j]>m[j+1])
{
t=m[j+1];
m[j+1]=m[j];
m[j]=t;
}
}
}
printf(“\n\n排序后的數組—————\n");
for(k=0;k<10;k++)
printf(“%5d”,m[k]);
printf(“\n\n”);
getchar();
}
(2).參考程序:演示冒泡排序法
#include
#include
#include
#include
main()
{
system(“color 2f”);
system(“title ---冒泡排序法");
system(“mode con cols=130 lines=40”);
srand(time(NULL));
int m[256],n[256],i,j,t,k;
for(i=0;i<10;i++)
{
m[i]=rand()%100;
n[i]=m[i];
}
for(i=0;i<10;i++)
{
printf(“%5d”,n[i]);
}
printf(“\n\n下面開始排序——\n\n");
system(“pause”);
for(i=0;i<9;i++)
{
printf(“ 第 %d 趟_______\n",i+1);
for(j=0;j<9-i;j++)
{
if(m[j]>m[j+1])
{
t=m[j+1];
m[j+1]=m[j];
m[j]=t;
}
}
for(k=0;k<10;k++)
{
printf(“%5d”,m[k]);
}
printf(“\n”);
system(“pause”);;
}
system(“cls”);
printf(“\n\n原來的數組————\n");
for(k=0;k<10;k++)
printf(“%5d”,n[k]);
printf(“\n\n”);
Sleep(2000);
printf(“排序后的數組—————\n");
for(k=0;k<10;k++)
printf(“%5d”,m[k]);
printf(“\n\n”);
getchar();
}
2 后記
教師在講解這個程序時應該注意算法分析,同時注意激發(fā)學生學習興趣和調動學生的學習積極性。
作者簡介
楊英翔,沈陽建筑大學,副教授。
許崇,沈陽建筑大學,實驗師。