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