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