楊英翔 許崇
摘 要:作者多年從事計算機應用技術研究和教學,在C語言程序設計的教學過程中,作者一直在探索激發學生學習興趣、降低課程難度、提高學習成績的有效途徑,并提出自己的一些做法供同行們參考。
關鍵詞:C語言;教法;計算機
1 打印“水仙花數”
程序說明:
“水仙花”數是指一個n位數(n≥3),它的每個位上的數字的n 次冪之和等于它本身。
“水仙花”數,是C語言里很重要的一道題目,可以由循環、數組、函數等多種方法實現,靈活多變,十分適合鍛煉學生的創新、想象能力。
練習方法:
(1).程序原型
#include
#include
main()
{
system(“title ‘water flowernumber”);
system(“color 3e”);
int i,j,k,n;
printf(“\n\n ‘water flowernumber is:\n\n “);
for(n=100;n<1000;n++)
{
i=n/100; //分解出百位
j=n/10%10; //分解出十位
k=n%10; //分解出個位
if(n==i*i*i+j*j*j+k*k*k)
{
printf(“%-5d”,n);
}
}
printf(“\n\n “);
}
(2).參考程序:四位水仙花數
#include
#include
main()
{
system(“title 四位水仙花數”);
system(“color 3e”);
int i,j,k,g,n;
printf(“\n\n 四位水仙花數如下:\n\n “);
for(n=1000;n<10000;n++)
{
i=n/1000;
j=(n%1000)/100;
k=(n%100)/10;
g=n%10;
if(n==i*i*i*i+j*j*j*j+k*k*k*k+g*g*g*g)
{
printf(“%-5d”,n);
}
}
printf(“\n\n “);
}
2 10以內數減法練習
程序說明:
10以內減法是10以內數加法的升級,之后還有10以內數的乘法和除法,再以后還有10以內數的四則運算。
這個練習主要重點應該是培養學生自主設計程序的能力。
練習方法:
(1).參考程序:10以內乘法
#include
#include
#include
#include
main()
{
srand(time(NULL));
system(“title 10以內數乘法練習”);
system(“color 3e”);
int i,j,k,n,m=0;
for(n=1;n<=20;n++)
{
i=rand()%10;
j=rand()%10;
printf(“\n\n No: %d”,n);
printf(“\n\n %d*%d= \n\n “,i,j);
scanf(“%d”,&k;);
if(k==i*j)
{
printf(“\n 恭喜你,答對了!”);
m++;
}
else
printf(“\n 答錯了,正確答案是 %d”,i*j);
Sleep(2000);
system(“cls”);
}
printf(“\n\n 您的總分是 %d ,再見?。躰\n “,m*5);
}
(2).參考程序:10以內數除法
#include
#include
#include
#include
main()
{
srand(time(NULL));
system(“title 10以內數除法練習”);
system(“color 3e”);
int i,j,k;
int n,m=0;
for(n=1;n<=20;n++)
{
i=rand()%10;
while(i%j!=0)
j=1+rand()%i;
printf(“\n\n No: %d”,n);
printf(“\n\n %d/%d= \n\n “,i,j);
scanf(“%d”,&k;);
if(k==i/j)
{
printf(“\n 恭喜你,答對了!”);
m++;
}
else
printf(“\n 答錯了,正確答案是 %d”,i/j);
Sleep(2000);
system(“cls”);
}
printf(“\n\n 您的總分是 %d ,再見?。躰\n “,m*5);
}
作者簡介
楊英翔,沈陽建筑大學,副教授。
許崇,沈陽建筑大學,實驗師。