摘要:作者多年從事計(jì)算機(jī)應(yīng)用技術(shù)研究和教學(xué),在C語(yǔ)言程序設(shè)計(jì)的教學(xué)過(guò)程中,作者一直在探索激發(fā)學(xué)生學(xué)習(xí)興趣、降低課程難度、提高學(xué)習(xí)成績(jī)的有效途徑,并提出自己的一些做法供同行們參考。
關(guān)鍵詞:C語(yǔ)言;教法;計(jì)算機(jī)
正文:
歌德巴赫猜想:任意一個(gè)不小于6的偶數(shù)都可以表示成兩個(gè)素?cái)?shù)的和。
本題的目的:在鍵盤(pán)上任意給一個(gè)符合條件的數(shù),輸出相應(yīng)的兩個(gè)素?cái)?shù)。
素?cái)?shù):指在一個(gè)大于1的自然數(shù)中,除了1和此整數(shù)自身外,沒(méi)法被其他自然數(shù)整除的數(shù)。
源程序:
#include<stdio.h>
int cc(int x) ? // 自定義函數(shù)
{int i;
for(i=2;i<=x;i++)
{if((x%i==0)&&(i<x))
return 0;
else if((x%i==0)&&(x==i))
return 1;}}
void main( )
{ printf("\n\n ? ?哥德巴赫猜想啦: ?");
int i,j;
printf("\n\n ? ?請(qǐng)隨意輸入一個(gè)大于6的偶數(shù):\n\n ? ?");
scanf("%d",&i);
for(j=3;j<=i/2;j++)
{if(cc(j)&&cc(i-j))
{printf("\n\n ? ?%d=%d+%d",i,j,i-j);
break;}}
printf("\n\n ? ?");}
程序說(shuō)明:
這個(gè)程序最充分的體現(xiàn)了計(jì)算機(jī)的快,我們隨意輸入了一個(gè)大于6的偶數(shù)之后,計(jì)算機(jī)是在一個(gè)一個(gè)的驗(yàn)算是否是素?cái)?shù)的,如果是素?cái)?shù),再驗(yàn)算其另一邊是否是素?cái)?shù),沒(méi)有任何技巧,能夠瞬間完成,全憑速度快。通過(guò)這個(gè)例子,同學(xué)們可以提高對(duì)計(jì)算機(jī)應(yīng)用的興趣。
相關(guān)知識(shí):
哥德巴赫猜想用C語(yǔ)言還可以有多種實(shí)現(xiàn)方法,請(qǐng)大家認(rèn)真思考。
相關(guān)練習(xí):
(1) 一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為“完數(shù)”。例如6=1+2+3
編程找出1000以內(nèi)的所有完數(shù)。
#include<stdio.h>
#include<stdlib.h>
void main( )
{system("color 3f");int i,n,sum;
for(n=1; n<=1000; n++)
{ sum=0;for(i=1;i<n;i++)
{ if(n%i==0)
{ sum=sum+i;}}
if(sum==n)
{printf("\n\n ? ?%6d是完數(shù)。",n);}}
printf("\n\n ? ?");}
(2) 另一個(gè)輸出完數(shù)的小程序
#include<stdio.h>
#include<stdlib.h>
void main( )
{system("color 3f");
int i,j,k,n,sum;
int a[1000];
for(i=2;i<=1000;i++){sum=1;a[0]=1;k=0;
for(j=2;j<=(i/2);j++)
{if(i%j==0)
{sum+=j;a[++k]=j;}}
if(i==sum)
{printf("\n\n ? ?");
printf("%d=%d",i,a[0]);
for(n=1;n<=k;n++)
printf("+%d",a[n]);}}
printf("\n\n ? ? ?");}
總結(jié):
C語(yǔ)言程序設(shè)計(jì)是一門(mén)非常注重實(shí)踐的課程,無(wú)論課堂教學(xué)還是上機(jī)實(shí)踐,教師的童心和發(fā)散思維,都是學(xué)生們突破學(xué)習(xí)難點(diǎn)、提高學(xué)習(xí)興趣和建立良好的學(xué)習(xí)習(xí)慣的強(qiáng)有力的助力和催化劑。
參考書(shū)籍
[1]《C程序設(shè)計(jì)》(第三版),譚浩強(qiáng) 著,清華大學(xué)出版社,2005年7月
[2]C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)》(第三版),譚浩強(qiáng)著,清華大學(xué)出版社,2005年7月
[3]《C語(yǔ)言程序設(shè)計(jì)習(xí)題指導(dǎo)與練習(xí)》,劉宏著,清華大學(xué)出版社,2009年1月
mailto:xxjk@chinajournal.net.cn
作者簡(jiǎn)介:
楊英翔(1964.06-),男,漢族,副教授,就職于沈陽(yáng)建筑大學(xué)。
mailto:xxjk@chinajournal.net.cn