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

?

嘗試用C語言計(jì)算大數(shù)階乘C語言課堂趣味練習(xí)

2022-05-13 22:43:55楊英翔
電子樂園·下旬刊 2022年5期
關(guān)鍵詞:教法計(jì)算機(jī)

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

關(guān)鍵詞:C語言;教法;計(jì)算機(jī)

正文:

源程序:

#include

#include

#define N 2000 ? ?//可以是任意一個(gè)數(shù)的階乘

int main( ?)

{system("title 求N的階乘"); ? ?//設(shè)置標(biāo)題

system("color 2f"); ? ?//設(shè)置顏色

int a[100000],b=0,i,j; ? ?//設(shè)置數(shù)組預(yù)備存放數(shù)據(jù)

for(i=0;i<100000;i++) ? ?//設(shè)置數(shù)組里每一位都是零

a[i]=0;

a[0]=1; ? ?//設(shè)置數(shù)組的第一位是1,就是第一個(gè)乘數(shù)是1

printf("\n\n ? ?%d!=",N); ? ?//打印等式的左側(cè)N!=

for(i=2;i<=N;i++) ? ?//設(shè)置階乘的乘數(shù)

{for(j=0;j<=b;j++) ? ?//設(shè)置階乘的計(jì)算

a[j]*=i;

b+=16; ? ?//設(shè)置數(shù)值的每一個(gè)元素只保存一位整數(shù)

for(j=0;j

if(a[j]>9)

{a[j+1]+=a[j]/10;

a[j]%=10;}

while(a[b]==0) b--;}

for(i=b; i>=0; i--) ? ? //設(shè)置逆序打印

printf("%d", a[i]);

printf("\n ? ?");

return 0;}

程序說明:

這個(gè)程序里用一個(gè)整型數(shù)組來存放N的階乘的結(jié)果,通過程序的講解,我們可以初步理解用數(shù)組存放和打印大數(shù)據(jù)的方法,這也是用C語言進(jìn)行科學(xué)計(jì)算的一個(gè)使用例子,為學(xué)生們打開程序設(shè)計(jì)的一面窗戶。

整個(gè)程序結(jié)構(gòu)上很實(shí)用,語言上很簡練,算法也簡單。

相關(guān)知識:

這個(gè)例子里用數(shù)組存放大數(shù)據(jù),大致可以分兩步,第一步是數(shù)組里每一個(gè)元素中數(shù)據(jù)的計(jì)算,第二步是數(shù)組中每一個(gè)元素中數(shù)據(jù)的進(jìn)位。打印數(shù)組中存放的大數(shù)據(jù),使用逆序打印。

相關(guān)練習(xí):

(1) N的階乘的另一種方法,這是網(wǎng)上流傳很廣的一個(gè)程序,已經(jīng)找不到出處了,經(jīng)過驗(yàn)證是可以運(yùn)行的,大家可以嘗試分析一下其算法原理。

#include

#include

#define N 800 ? //設(shè)置階乘的N值

long s[N]={1},n=10000,t=2,x,y,m;

int main()

{system("title 大數(shù)據(jù)的計(jì)算和顯示");

system("color 2f");

printf("\n\n ? ?%d!=",N);

for(;x<=m||++t<=N&&(x=y=0,1);m==x++&&y&&m++)

s[x]=(y+=s[x]*t)%n,y/=n;

for(printf("%d",s[m]);m--;)

printf("%04d",s[m]);

printf("\n\n ? ?");

return 0;}

(2)冒泡排序法,這是一個(gè)簡單的排序法練習(xí),頭文件里有time.h,大家可以嘗試使用隨機(jī)數(shù)來給數(shù)組賦值。

#include

#include

#include

#include

main()

{system("color 2f");

system("title ---冒泡排序法");

system("mode con cols=130 lines=40");

int m[256],i,j,t,k;

printf("\n\n ? ?輸入10個(gè)數(shù):\n\n ? ? ");

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

{scanf("%d",&m[i]);}

printf("\n您輸入的數(shù)組—————\n");

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

{printf("%5d",m[i]);}

for(i=0;i<9;i++)

{for(j=0;j<9-i;j++)

{if(m[j]>m[j+1])

{t=m[j+1];

m[j+1]=m[j];

m[j]=t;}}}

printf("\n\n排序后的數(shù)組—————\n");

for(k=0;k<10;k++)

printf("%5d",m[k]);

printf("\n\n");

getchar();}

總結(jié):

C語言程序設(shè)計(jì)是一門非常注重實(shí)踐的課程,無論課堂教學(xué)還是上機(jī)實(shí)踐,教師的童心和發(fā)散思維,都是學(xué)生們突破學(xué)習(xí)難點(diǎn)、提高學(xué)習(xí)興趣和建立良好的學(xué)習(xí)習(xí)慣的強(qiáng)有力的助力和催化劑。

參考書籍

[1]. 《C程序設(shè)計(jì)》(第三版),譚浩強(qiáng) 著,清華大學(xué)出版社,2005年7月

[2]. C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)》(第三版),譚浩強(qiáng)著,清華大學(xué)出版社,2005年7月

[3]. 《C語言程序設(shè)計(jì)習(xí)題指導(dǎo)與練習(xí)》,劉宏著,清華大學(xué)出版社,2009年1月

作者簡介:楊英翔(1964.06-),男,漢族,副教授,就職于沈陽建筑大學(xué)。

猜你喜歡
教法計(jì)算機(jī)
計(jì)算機(jī)操作系統(tǒng)
穿裙子的“計(jì)算機(jī)”
基于計(jì)算機(jī)自然語言處理的機(jī)器翻譯技術(shù)應(yīng)用與簡介
科技傳播(2019年22期)2020-01-14 03:06:34
計(jì)算機(jī)多媒體技術(shù)應(yīng)用初探
科技傳播(2019年22期)2020-01-14 03:06:30
實(shí)戰(zhàn)視角下擒敵拳教學(xué)教法路徑研究
信息系統(tǒng)審計(jì)中計(jì)算機(jī)審計(jì)的應(yīng)用
開放在線課程教法的適應(yīng)性變革:從OCW到MOOC
“教法融合”:得道方能行遠(yuǎn)
Fresnel衍射的計(jì)算機(jī)模擬演示
語文教學(xué)要創(chuàng)新教法
托克托县| 孝义市| 汽车| 抚松县| 隆化县| 德江县| 安泽县| 余干县| 普陀区| 南漳县| 安西县| 太和县| 鹤壁市| 黄冈市| 基隆市| 灵武市| 佛教| 五家渠市| 布尔津县| 手游| 迭部县| 双流县| 信宜市| 绥化市| 张掖市| 九龙坡区| 高青县| 忻州市| 小金县| 宿松县| 拜城县| 泰和县| 广平县| 绥棱县| 宣汉县| 玉树县| 葫芦岛市| 海阳市| 余干县| 农安县| 图们市|