楊英翔
摘 要:作者多年從事計算機應用技術研究和教學,在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,s;
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++)
{
t=i;
for(j=i+1;j<=9;j++)
{
if(m[t]>m[j])
t=j;
}
s=m[t];
m[t]=m[i];
m[i]=s;
}
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”);
int m[256],i,j,t,k,s;
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]);
}
printf(“\n現在開始選擇排序—————\n");
for(i=0;i<9;i++)
{
printf(“\n第 %d 趟——————\n",i+1);
t=i;
for(j=i+1;j<=9;j++)
{
if(m[t]>m[j])
t=j;
}
s=m[t];
m[t]=m[i];
m[i]=s;
for(k=0;k<10;k++)
{
printf(“%5d”,m[k]);
}
printf(“\n”);
system(“pause”);
}
printf(“\n\n排序后的數組—————\n");
for(k=0;k<10;k++)
printf(“%5d”,m[k]);
printf(“\n\n”);
getchar();
}
后記:
這個程序和冒泡排序法一樣,都要認真做算法分析,教師需要認真組織語言,激發(fā)學生學習興趣,調動學生學習積極性。
2 解方程
一個整數,它加上100后是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少??
程序說明:
這個題目里我們使用了嵌套循環(huán)和goto語句。
這個題目可以用多個算法,程序原型里的算法屬于暴力破解法,又叫窮舉法。
練習方法:
(1).程序原型:
#include
#include
#include
#include