摘 要:作者多年從事計算機應用技術研究和教學,在C語言程序設計的教學過程中,作者一直在探索激發(fā)學生學習興趣、降低課程難度、提高學習成績的有效途徑,并提出自己的一些做法供同行們參考。
關鍵詞:C語言;教法;計算機
1 用數(shù)組的方法求斐波那契數(shù)列前20項
程序說明:
”斐波那契數(shù)列”是C語言里很典型的一道題,可以用多種方法解答,本書前文就有用循環(huán)求解的方法。
練習方法:
(1).程序原型:
#include
#include
#include
#include
main()
{
system(“color 2f”);
system(“title ---斐波那契數(shù)列");
system(“mode con cols=130 lines=40”);
int f[256]={1,1},i,j,t,k,s;
for(i=2;i<20;i++)
{
f[i]=f[i-1]+f[i-2];
}
printf(“\n斐波那契數(shù)列—————\n");
for(i=0;i<20;i++)
{
printf(“%15d”,f[i]);
if((i+1)%4==0)
printf(“\n”);
}
getchar();
}
(2).參考程序:有一分數(shù)序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個數(shù)列的前20項之和。
#include
#include
main()
{
float a1[255]={2,3};
float a2[255]={1,2};
float a3[255];
int i;
float s=0;
for (i=2;i<20;i++)
{
a1[i]=a1[i-1]+a1[i-2];
a2[i]=a2[i-1]+a2[i-2];
}
for(i=0;i<20;i++)
{
a3[i]=a1[i]/a2[i];
s+=a3[i];
}
printf(“\n數(shù)列和為 %1.2f\n\n ",s);
getchar();
}
(3).程序變形:
#include
#include
main()
{
int n,t,number=20;
float a=2,b=1,s=0;
for(n=1;n<=number;n++)
{
s=s+a/b;
t=a;a=a+b;b=t; //這部分是程序的關鍵,請讀者猜猜t的作用
}
printf(“sum is %9.6f\n”,s);
system(“pause”);
}
后記:
數(shù)組的靈活應用的題目很多,教師在這部分教學中應該多講一些例題。拓展學生的知識面。
2 買瓜
古典算數(shù)題目:黃瓜1塊錢13根,西瓜3塊錢1個,苦瓜1塊錢3個,如何買100個瓜,總價也是100塊錢?
程序說明:
這個程序里我們講的就是上文里提到的”買瓜”,這是中國古典算術里很典型的一道題。
練習方法:
(1).程序原型:
#include
#include
#include
#include
void main()
{
system(“color 3f”);
system(“title 買瓜");
system(“mode con cols=130 lines=20”);
int i,j,k;
for (i=1;i<=99;i++)
{
for(j=1;j<=99;j++)
{
for(k=1;k<=99;k++)
{
if(i+j+k==100&&i/13+3*j+k/3==100&&?。╥%13)&&?。╧%3))
{
printf(“\n\n 黃瓜是 %d,西瓜是 %d,苦瓜是 %d\n\n ",i,j,k);
goto lop;
}
}
}
}
lop:
printf(“\n\n “);
}
(2).參考程序:
三折井:用繩子測量井深,三折井外余繩4尺,四折井外余繩1尺,問井深及繩長?
#include
#include
#include
#include
void main()
{
system(“color 3f”);
system(“title 三折井");
system(“mode con cols=130 lines=20”);
int i,j;
for (i=1;i<=99;i++)
{
for(j=1;j<=99;j++)
{
if((i-3*j)==4&&(i-4*j)==1)
{
printf(“\n\n 繩長是 %d,井深是 %d,\n\n ",i,j);
goto lop;
}
}
}
lop:
printf(“\n\n “);
}
作者簡介
楊英翔,副教授。