国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

C語言趣味課堂練習之二

2017-01-21 10:45楊英翔
卷宗 2016年10期
關鍵詞:C語言教法計算機

摘 要:作者多年從事計算機應用技術研究和教學,在C語言程序設計的教學過程中,作者一直在探索激發(fā)學生學習興趣、降低課程難度、提高學習成績的有效途徑,并提出自己的一些做法供同行們參考。

關鍵詞:C語言;教法;計算機

1 斐波那契數(shù)列

古典問題:有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問前20個月每個月的兔子總數(shù)為多少對?

#include

#include

main()

{

system(“color 3e”);

system(“title 兔子發(fā)財計劃");

long f1,f2;

int i;

f1=f2=1;

for(i=1;i<=10;i++)

{

printf(“%12ld %12ld”,f1,f2);

if(i%2==0)

printf(“\n”); //控制輸出,每行四個

f1=f1+f2; //前兩個月加起來賦值給第三個月

f2=f1+f2; //前兩個月加起來賦值給第三個月

}

printf(“\n “);

system(“pause”);

}

程序說明:

斐波那契數(shù)列是C語言里很重要的一道題目,可以由循環(huán)、數(shù)組、函數(shù)等多種方法實現(xiàn),靈活多變,十分適合鍛煉學生的創(chuàng)新、想象能力。

還可以鼓勵學生們做其他的設計嘗試。

2 打印“水仙花數(shù)”

#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 “);

}

程序說明:

“水仙花”數(shù)是指一個n位數(shù)(n≥3),它的每個位上的數(shù)字的n 次冪之和等于它本身。

“水仙花”數(shù),是C語言里很重要的一道題目,可以由循環(huán)、數(shù)組、函數(shù)等多種方法實現(xiàn),靈活多變,十分適合鍛煉學生的創(chuàng)新、想象能力。

“水仙花”數(shù)是指一個n位數(shù)(n≥3),它的每個位上的數(shù)字的n 次冪之和等于它本身。有三位的”水仙花”數(shù),有四位的”水仙花”數(shù),我們還可以嘗試編程顯示五位的”水仙花”數(shù)。

3 10以內(nèi)數(shù)減法練習

#include

#include

#include

#include

main()

{

srand(time(NULL));

system(“title 10以內(nèi)數(shù)減法練習");

system(“color 3e”);

int i,j,k,n,m=0;

for(n=1;n<=20;n++)

{

i=rand()%10;

j=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);

}

程序說明:

10以內(nèi)減法是10以內(nèi)數(shù)加法的升級,之后還有10以內(nèi)數(shù)的乘法和除法,再以后還有10以內(nèi)數(shù)的四則運算。

這個練習主要重點應該是培養(yǎng)學生自主設計程序的能力。

10以內(nèi)數(shù)四則運算練習是我們自主設計的第一個實用程序,可以鼓勵學生們進一步完善設計,還可以進一步形成函數(shù)版、多文件版等不同的版本。

4 將一個正整數(shù)分解質(zhì)因數(shù)

#include

#include

//正整數(shù)分解質(zhì)因數(shù)

main()

{

int n,i;

printf(“\n\n 請輸入正整數(shù):\n\n ");

scanf(“%d”,&n);

printf(“\n %d=”,n);

for(i=2;i<=n;i++)

{

while(n!=i)

{

if(n%i==0)

{

printf(“%d*”,i);

n=n/i;

}

else

break;

}

}

printf(“%d”,n);

printf(“\n\n “);

system(“pause”);

}

程序說明:

將一個正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5。

對n進行分解質(zhì)因數(shù),應先找到一個最小的質(zhì)數(shù)i,然后按下述步驟完成:

(1)如果這個質(zhì)數(shù)恰等于n,則說明分解質(zhì)因數(shù)的過程已經(jīng)結(jié)束,打印出即可。

(2)如果n>k,但n能被i整除,則應打印出i的值,并用n除以i的商,作為新的正整數(shù)n, 重復執(zhí)行第一步。

(3)如果n不能被i整除,則用i+1作為i的值,重復執(zhí)行第一步。

這兩個程序講的都是數(shù)學里的小常識,我們還可以引導學生把其他的數(shù)學里的小常識用C語言程序表達出來。既有趣,又鍛煉學生的C能力。

5 解方程

一個整數(shù),它加上100后是一個完全平方數(shù),再加上168又是一個完全平方數(shù),請問該數(shù)是多少??

#include

#include

#include

#include

void main()

{

system(“color 3f”);

system(“title 關于完全平方數(shù)");

system(“mode con cols=130 lines=20”);

int i,j,k;

for (i=1;i<=1000;i++)

{

for (j=1;j<=1000;j++)

{

for (k=1;k<=1000;k++)

{

if(i*i==k+100&&j*j==k+268)

{

printf(“\n\n 這個整數(shù)可

以是 %d\n\n ",k);

goto lop;

}

}

}

}

lop:

printf(“\n\n “);

}

程序說明:

這個題目里我們使用了嵌套循環(huán)和goto語句。

這個題目可以用多個算法,程序原型里的算法屬于暴力破解法,又叫窮舉法。

后記:

這一類程序里還有很多題目都是很有趣的,例如”三折井”、”買瓜”等題目。都很有趣,而且需要大家認真對待。

作者簡介

楊英翔,副教授。

猜你喜歡
C語言教法計算機
計算機操作系統(tǒng)
基于Visual Studio Code的C語言程序設計實踐教學探索
基于計算機自然語言處理的機器翻譯技術應用與簡介
基于C語言的計算機軟件編程
信息系統(tǒng)審計中計算機審計的應用
高職高專院校C語言程序設計教學改革探索
“教法融合”:得道方能行遠
論子函數(shù)在C語言數(shù)據(jù)格式輸出中的應用
Fresnel衍射的計算機模擬演示
語文教學要創(chuàng)新教法
404 Not Found

404 Not Found


nginx
军事| 彭山县| 高邑县| 尉犁县| 平武县| 通州区| 成都市| 克山县| 文昌市| 太湖县| 六枝特区| 垣曲县| 明溪县| 治县。| 高要市| 南溪县| 灵丘县| 遵化市| 乌海市| 密山市| 凤台县| 绩溪县| 襄汾县| 张家口市| 东光县| 新宾| 云浮市| 寻乌县| 宝坻区| 板桥市| 定安县| 栖霞市| 四子王旗| 凌云县| 和静县| 浮山县| 淳安县| 沈丘县| 双牌县| 兴国县| 交城县|