摘 要:作者多年從事計算機應(yīng)用技術(shù)研究和教學(xué),在C語言程序設(shè)計的教學(xué)過程中,作者一直在探索激發(fā)學(xué)生學(xué)習(xí)興趣、降低課程難度、提高學(xué)習(xí)成績的有效途徑,并提出自己的一些做法供同行們參考。
關(guān)鍵詞:C語言;教法;計算機
1 給a1,a2,a3,a4,a5五個數(shù)由小到大排序
程序說明:
這個程序的算法和前一個程序是一樣的,十分清晰的體現(xiàn)了冒泡排序法的基本思路。教師可以把這個程序的思路重點介紹給學(xué)生們,作為日后學(xué)習(xí)冒泡排序法的基礎(chǔ)。
練習(xí)方法:
(1).程序原型
#include
#include
void main()
{
system(“color 3e”);
system(“title 把五個數(shù)由小到大排序”);
int a1,a2,a3,a4,a5,t;
printf(“\n\n 請輸入五個大小不同的整數(shù):\n\n “);
scanf(“%d,%d,%d,%d,%d”,&a1,&a2,&a3,&a4,&a5);
//第一輪排序 目的是把最大值給a5
if(a1>a2)
t=a1,a1=a2,a2=t;
if(a2>a3)
t=a2,a2=a3,a3=t;
if(a3>a4)
t=a3,a3=a4,a4=t;
if(a4>a5)
t=a4,a4=a5,a5=t;
//第二輪排序 目的是把第二大的值給a4
if(a1>a2)
t=a1,a1=a2,a2=t;
if(a2>a3)
t=a2,a2=a3,a3=t;
if(a3>a4)
t=a3,a3=a4,a4=t;
//第三輪排序 目的是把下一個大的值給a3
if(a1>a2)
t=a1,a1=a2,a2=t;
if(a2>a3)
t=a2,a2=a3,a3=t;
//第四輪排序 目的是把下一個大的值給a2
if(a1>a2)
t=a1,a1=a2,a2=t;
printf(“\n\n 由小到大為: %d %d %d %d %d\n\n “,a1,a2,a3,a4,a5);
}
(2).參考程序:五個數(shù)由大到小排序
#include
#include
void main()
{
system(“color 3e”);
system(“title 把五個數(shù)由大到小排序”);
int a1,a2,a3,a4,a5,t;
printf(“\n\n 請輸入五個大小不同的整數(shù):\n\n “);
scanf(“%d,%d,%d,%d,%d”,&a1,&a2,&a3,&a4,&a5);
//第一輪排序 目的是把最小值給a5
if(a1 t=a1,a1=a2,a2=t; if(a2 t=a2,a2=a3,a3=t; if(a3 t=a3,a3=a4,a4=t; if(a4 t=a4,a4=a5,a5=t; //第二輪排序 目的是把第二小的值給a4 if(a1 t=a1,a1=a2,a2=t; if(a2 t=a2,a2=a3,a3=t; if(a3 t=a3,a3=a4,a4=t; //第三輪排序 目的是把下一個小的值給a3 if(a1 t=a1,a1=a2,a2=t; if(a2 t=a2,a2=a3,a3=t; //第四輪排序 目的是把下一個小的值給a2 if(a1 t=a1,a1=a2,a2=t; printf(“\n\n 由大到小為: %d %d %d %d %d\n\n “,a1,a2,a3,a4,a5); } 后記: 注意區(qū)分”由小到大”和”由大到小”的區(qū)別,注意講解程序設(shè)計思路,注意和學(xué)生的互動。 2 用 *號輸出字母C的圖案 程序說明: 這個程序可以在課堂授課之余給學(xué)生們娛樂用,還可以靈活變形,鍛煉學(xué)生的創(chuàng)新、想象能力。 練習(xí)方法: (1).程序原型 #include #include void main() { system(“color 3e”); system(“title Hello C-world!”); printf(“Hello C-world?。躰”); printf(“ * * * * \n”);
printf(“ * *\n”);
printf(“ * \n”);
printf(“ * \n”);
printf(“ * * \n”);
printf(“ * * * * \n”);
}
(2).參考程序:用*打印心形
#include
#include
void main()
{
system(“color 46”);
system(“title LOVE!”);
printf(“ I LOVE YOU?。躰”);
printf(“ * * * * * * * * \n”);
printf(“ * * *\n”);
printf(“ * *\n”);
printf(“ * * \n”);
printf(“ * * \n”);
printf(“ * *\n”);
printf(“ * * \n”);
printf(“ * * \n”);
printf(“ * * \n”);
printf(“ * * \n”);
printf(“ * \n”);
}
后記:
這個程序可以作為課堂練習(xí)讓學(xué)生自由發(fā)揮,可以培養(yǎng)學(xué)生的想象力和學(xué)習(xí)熱情,還可以活躍課堂氣氛。
3 輸出國際象棋棋盤
程序說明:
這個程序可以在課堂授課之余給學(xué)生們娛樂用,還可以靈活變形,鍛煉學(xué)生的創(chuàng)新、想象能力。
練習(xí)方法:
(1).程序原型
#include
main()
{
int i,j;
for(i=0;i<8;i++)
{
for(j=0;j<8;j++)
if((i+j)%2==0)
printf(“%c%c”,219,219);
else
printf(“ “);
printf(“\n”);
}
getchar();
}
(2).參考程序:打印樓梯,同時在樓梯上方打印兩個笑臉
#include
main()
{
int i,j;
printf(“\1\1\n”);/*輸出兩個笑臉*/
printf(“%c%c\n”,219,219);
for(i=1;i<11;i++)
{
for(j=1;j<=i;j++)
printf(“ “);
printf(“%c%c”,219,219);
printf(“\n”);
}
getchar();
}
后記:
這兩個程序都使用ACSII編碼表,在運行程序時,注意調(diào)整”控制臺窗口”屬性的”默認代碼頁”選項為”O(jiān)EM-美國”,否則程序運行會出錯。
作者簡介
楊英翔,副教授。