




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、【精品文檔】如有侵權(quán),請(qǐng)聯(lián)系網(wǎng)站刪除,僅供學(xué)習(xí)與交流C語言編程練習(xí)題85972.精品文檔.本練習(xí)假設(shè):整數(shù)int為4字節(jié),運(yùn)行環(huán)境為VC 一、整數(shù)位數(shù)有關(guān)的問題1、輸入一個(gè)整數(shù),判斷它是幾位數(shù)?#include <stdio.h>void main()int a,n=0;scanf("%d",&a);答案在后面思路:如何數(shù)出位數(shù)?while(a>0)a/=10;n+;printf("%dn",n);擴(kuò)展:編制一個(gè)函數(shù),參數(shù)為整數(shù),返回該整數(shù)的位數(shù)。答案在后面int digits(int a)int n=0;while(a>
2、0)a/=10;n+;return n;2、編制一函數(shù),得到一個(gè)整數(shù)的某一位的數(shù)字。int digit(int a,int n) /*返回:整數(shù)a的倒數(shù)第n位數(shù),n從1開始*/答案在后面思路:如何將倒數(shù)第n位用一個(gè)表達(dá)式取出?不能!轉(zhuǎn)變成怎樣后就能?while(n>1)a/=10;n-;return a%10;測(cè)試函數(shù)的例子:#include <stdio.h>int digit(int a,int n);void main()int a,n,d;scanf("%d%d",&a,&n);d=digit(a,n);printf("%
3、dn",d);二、關(guān)于整數(shù)的幾個(gè)題目1、輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。算法分析:采用輾轉(zhuǎn)相除法,先求出最大公約數(shù)d,然后求最小公倍數(shù)c=m*n/d。輾轉(zhuǎn)相除法:余數(shù)=大數(shù)%小數(shù),然后將小數(shù)和余數(shù)再作輾轉(zhuǎn)相除。#include <stdio.h>void main()int m,n,a,b,d,c;scanf("%d,%d",&m,&n);if(m>n)a=m;b=n; /*保證a>b*/else a=n;b=m;while(d=a%b)>0) /*每次循環(huán)都測(cè)試余數(shù)是否為0*/a=b;b=d;d=b
4、; /*得到最大公約數(shù)*/c=m*n/d; /*得到最小公倍數(shù)*/printf("最大公約數(shù)是%dn最小公倍數(shù)是%dn",d,c);拓展:編出求最大公約數(shù)的函數(shù)。int mcd(int a,int b)int d,t;if(a<b)t=a;a=b;b=t; /*保證a>b*/while(d=a%b)>0) /*每次循環(huán)都測(cè)試余數(shù)是否為0*/a=b;b=d;return b; /*得到最大公約數(shù)*/測(cè)試上述函數(shù):#include <stdio.h>int mcd(int a,int b);void main()int m,n,d,c;scanf(
5、"%d,%d",&m,&n);d=mcd(m,n);c=m*n/d;printf("最大公約數(shù)是%dn最小公倍數(shù)是%dn",d,c);2、求出所有的水仙花數(shù)。水仙花數(shù)是一個(gè)三位數(shù),其各位數(shù)字的立方和等于該數(shù)。例如153=13+53+33。#include <stdio.h>void main()int s,a,b,c;for(s=100;s<=999;s+)a=s%10; b=s/10%10;c=s/100; /*分解出每一位*/if(a*a*a+b*b*b+c*c*c=s)printf("%dn",
6、s);按位循環(huán):#include <stdio.h>void main()int s,a,b,c;for(a=0;a<=9;a+)for(b=0;b<=9;b+)for(c=1;c<=9;c+)s=c*100+b*10+a;if(a*a*a+b*b*b+c*c*c=s)printf("%dn",s);類似地:可以求出100以內(nèi)的勾股數(shù),如32+42=52。三、關(guān)于數(shù)組的幾個(gè)題目求2100的精確值。參考:#include <stdio.h>void main()double s=1.0;int i;for(i=1;i<=100;
7、i+)s*=2;printf("%fn",s);運(yùn)行結(jié)果:1267650600228229400000000000000.000000后面十多位全是0,因此是近似值。如何求精確值呢?(關(guān)鍵是如何保存每一位)#include <stdio.h>void main()答案在后面int s100=1; /*初始化第一位為0,其它每一位為0*/int i,j,m=0; /*m指示最高位為sm*/for(i=1;i<=100;i+)for(j=0;j<=m;j+)sj*=2;for(j=0;j<=m;j+) /*檢查進(jìn)位*/if(sj>9) /*第
8、j位需要進(jìn)位*/sj+1+=sj/10;sj%=10;if(j+1>m) m=j+1; /*最高位進(jìn)位*/printf("2100 = ");for(j=m;j>=0;j-)printf("%d",sj);printf("n");運(yùn)行結(jié)果:2100 = 1267650600228229401496703205376擴(kuò)展問題:如何求出100!的精確值?缺陷:如果乘以一個(gè)很大的數(shù)如20億,會(huì)使高一位與進(jìn)位相加后溢出。四、大數(shù)運(yùn)算用整數(shù)數(shù)組存放每一位,最高位用-1存儲(chǔ),如12存為:a0=2,a1=1,a2=-1。1、輸入和存儲(chǔ)大
9、數(shù)。編制一函數(shù),將合法數(shù)字組成的字符串表示的大數(shù)按位拆分存儲(chǔ)到整數(shù)數(shù)組中,最高位前存儲(chǔ)-1。/*轉(zhuǎn)換大數(shù):將字符串c中的數(shù)字保存到整數(shù)數(shù)組a中,a最高位添加-1標(biāo)志*/void LargeSet(char *c, int *a) char *p;for(p=c;*p!='0'p+); /*找到末尾作為最低位*/p-;for(;p>=c;p-,a+)*a=*p-'0'*a=-1;2、輸出和獲得數(shù)字串。編制一函數(shù),將大數(shù)轉(zhuǎn)換成字符串。/*轉(zhuǎn)換大數(shù):將大數(shù)a轉(zhuǎn)換成字符串存入字符數(shù)組c中*/void LargeGet(char *c, int *a) int *p
10、;for(p=a;*p>=0;p+);p-;for(;p>=a;c+,p-)*c=*p+'0'*c='0'3、大數(shù)相加。編制一函數(shù),實(shí)現(xiàn)兩個(gè)大數(shù)相加。void LargeAdd(int *a, int *b, int *s) /*大數(shù)相加:s=a+b*/int ka=0,kb=0;for(*s=0;ka=0|kb=0;s+)if(*a<0) ka=1;if(*b<0) kb=1;if(ka=0) *s+=*a; a+;if(kb=0) *s+=*b; b+;if(*s>9) *(s+1)=1;*s%=10;else *(s+1)=0
11、;if(*s>0) *(s+1)=-1;else if(*(s-1)>0) *s=-1;else *(s-1)=-1;驗(yàn)證上面的函數(shù):#include <stdio.h>void LargeSet(char *a, int *s);void LargeGet(char *a, int *s);void LargeAdd(int *a, int *b, int *s);void main()int a100,b100,s100;char c100;scanf("%s",c);LargeSet(c,a);scanf("%s",c);L
12、argeSet(c,b);LargeAdd(a,b,s);LargeGet(c,s);printf("sum is %sn",c);運(yùn)行結(jié)果:1234567890123456789012345678901234567890sum is 24691357802469135780擴(kuò)展:可以編制大數(shù)相減、相乘、相除、乘方、開方等運(yùn)算。有了這些運(yùn)算,計(jì)算100!或2的100次方的精確值將變得很簡單。因?yàn)橛袗?,這個(gè)社會(huì)織了一個(gè)梳不清的網(wǎng),逃不出的網(wǎng),因?yàn)橛袗?,大家才走到一起來,生活有了歡樂,有苦惱,有了說不完的千千結(jié),誰也無法去解。因?yàn)橛袗?,你認(rèn)識(shí)了我,我認(rèn)識(shí)了你,也許就因?yàn)槟且谎郏?/p>
13、我們從此在也不得分離。因?yàn)橛袗?,人們走南?chuàng)北,什么地方都去,不管天涯海角,一個(gè)愛就有很多的力量,驅(qū)使你去很遠(yuǎn)很遠(yuǎn),因?yàn)橛袗?,多少人遠(yuǎn)走他鄉(xiāng),離鄉(xiāng)背景,永遠(yuǎn)不回頭了。因?yàn)橛袗?,天意?huì)安排你去坐飛機(jī),去坐輪船,去坐火車,去坐大客運(yùn),有可能那個(gè)上飛機(jī)的剪票員,剪過千萬張機(jī)票,都懶的看他一眼,偏偏就看了你一眼,恰在這時(shí)一個(gè)證件就讓她給拾了,從此相識(shí)了,走在一塊,永遠(yuǎn)不分離,愛情的基礎(chǔ),就是剪票口看了一眼,就產(chǎn)生了不可磨滅的真愛。有可能坐在飛機(jī)的座位上,那個(gè)身邊的姑娘在你們的談話中,彼此就默默的分不開了,至于以前,誰去過問,也勿須過問,有愛還問歷史干什么,那種愛是純真切的,不是對(duì)每個(gè)人都有這樣機(jī)遇,所以
14、一旦走到一塊,彼此之間格外珍惜,那是神話般的美麗故事,誰能不珍惜呢?因?yàn)橛袗?,才坐到一個(gè)火車上,她就坐在你的身邊,瞌睡了,她就倒在你的身上睡了一路,醒來了,她不好意思,你也不好意思,就這樣認(rèn)識(shí)了熟悉了,當(dāng)下了火車時(shí),彼此在也不想分離,當(dāng)他們走在一起時(shí),兩家的距離確是相隔千萬里的路程,要是平常,你愿意從萬里以外的地方說媳婦嗎?就是有,誰給你牽這線,你愿意嫁到萬里之遙的地方嗎?你肯定沒有想過,是天意給他們安排了這次火車的機(jī)遇。要不他們?cè)鯓幽艿揭粔K呢?無邊的藍(lán)天,如紗的白云,茫茫的大海,乘風(fēng)破浪巨輪,因?yàn)橛袗?,一個(gè)小小的世界,就會(huì)安排他們相見,或許你買的船票,和她就在一個(gè)船艙里,就是不在一個(gè)船艙,甲
15、板上也會(huì)相遇,一塊沐浴著海風(fēng)的吹拂,一塊欣賞著大海的波濤。 不覺間走到了一塊,當(dāng)談完大海的寬闊,在論海風(fēng)涼爽時(shí),才知道對(duì)方并不熟悉的人,交談中就對(duì)方說出了自己的姓名,下了船到了一個(gè)同一的城市,就是自己的依靠了,相依為命,在艱難在困惑,日子總算一天天的好了起來,你說這是不是因?yàn)閻鄄抛叩揭黄饋砟??也許彼此都喜歡上了對(duì)方,但誰也不知道誰的名字,也不知道都在什么單位,只在是下班的十字口彼此投過一個(gè)眼神,就這樣在風(fēng)雨里等待,也無法去打聽,也沒有勇氣敢問對(duì)方,偶然的一次班車上,坐在了一塊,去同一個(gè)城市玩,也沒有什么目地,純粹是一個(gè)人出去散心,有情侶人終成眷屬,蒼天安排了一次機(jī)遇,就走到了一起,當(dāng)成為一家人
16、時(shí),自己單位的人幾個(gè)都是她的親戚,他的單位幾個(gè)人都是他的親戚,可當(dāng)時(shí)誰給你介紹呢?蒼天安排的親眷沒有一絲縫隙,百分之百的成功。因?yàn)橛袗?,男女的結(jié)合沒有什么理由,愛你沒有商量,現(xiàn)在的旅游發(fā)展的特別快,當(dāng)你走出世界的時(shí)候,你發(fā)現(xiàn)生活很有意思,不知乍的,一個(gè)車上,東南西北的人都有,只要坐在一個(gè)車上,就如同一家人似的,瞬間就改變了人們的思想觀念,車上有老的,有少的,有中年的,短時(shí)間的相處,就如同父母和兒女,兄弟和姐妹,有說有笑,相互關(guān)系,分離時(shí),都有一種戀戀不舍的那種感覺,用佛的觀念來說,因?yàn)榫壏诌€沒有修到,只能今生短暫的相聚,很有意思,就因?yàn)橛心敲匆欢螑鄣木壏郑裆煲饩桶才帕艘欢温糜蔚臋C(jī)會(huì),令人很
17、欣慰。因?yàn)橛袗?,這個(gè)社會(huì)織了一個(gè)梳不清的網(wǎng),逃不出的網(wǎng),因?yàn)橛袗?,大家才走到一起來,生活有了歡樂,有苦惱,有了說不完的千千結(jié),誰也無法去解。因?yàn)橛袗?,你認(rèn)識(shí)了我,我認(rèn)識(shí)了你,也許就因?yàn)槟且谎?,我們從此在也不得分離。因?yàn)橛袗郏藗冏吣蟿?chuàng)北,什么地方都去,不管天涯海角,一個(gè)愛就有很多的力量,驅(qū)使你去很遠(yuǎn)很遠(yuǎn),因?yàn)橛袗郏嗌偃诉h(yuǎn)走他鄉(xiāng),離鄉(xiāng)背景,永遠(yuǎn)不回頭了。因?yàn)橛袗郏煲鈺?huì)安排你去坐飛機(jī),去坐輪船,去坐火車,去坐大客運(yùn),有可能那個(gè)上飛機(jī)的剪票員,剪過千萬張機(jī)票,都懶的看他一眼,偏偏就看了你一眼,恰在這時(shí)一個(gè)證件就讓她給拾了,從此相識(shí)了,走在一塊,永遠(yuǎn)不分離,愛情的基礎(chǔ),就是剪票口看了一眼,就產(chǎn)生了
18、不可磨滅的真愛。有可能坐在飛機(jī)的座位上,那個(gè)身邊的姑娘在你們的談話中,彼此就默默的分不開了,至于以前,誰去過問,也勿須過問,有愛還問歷史干什么,那種愛是純真切的,不是對(duì)每個(gè)人都有這樣機(jī)遇,所以一旦走到一塊,彼此之間格外珍惜,那是神話般的美麗故事,誰能不珍惜呢?因?yàn)橛袗?,才坐到一個(gè)火車上,她就坐在你的身邊,瞌睡了,她就倒在你的身上睡了一路,醒來了,她不好意思,你也不好意思,就這樣認(rèn)識(shí)了熟悉了,當(dāng)下了火車時(shí),彼此在也不想分離,當(dāng)他們走在一起時(shí),兩家的距離確是相隔千萬里的路程,要是平常,你愿意從萬里以外的地方說媳婦嗎?就是有,誰給你牽這線,你愿意嫁到萬里之遙的地方嗎?你肯定沒有想過,是天意給他們安排
19、了這次火車的機(jī)遇。要不他們?cè)鯓幽艿揭粔K呢?無邊的藍(lán)天,如紗的白云,茫茫的大海,乘風(fēng)破浪巨輪,因?yàn)橛袗郏粋€(gè)小小的世界,就會(huì)安排他們相見,或許你買的船票,和她就在一個(gè)船艙里,就是不在一個(gè)船艙,甲板上也會(huì)相遇,一塊沐浴著海風(fēng)的吹拂,一塊欣賞著大海的波濤。 不覺間走到了一塊,當(dāng)談完大海的寬闊,在論海風(fēng)涼爽時(shí),才知道對(duì)方并不熟悉的人,交談中就對(duì)方說出了自己的姓名,下了船到了一個(gè)同一的城市,就是自己的依靠了,相依為命,在艱難在困惑,日子總算一天天的好了起來,你說這是不是因?yàn)閻鄄抛叩揭黄饋砟??也許彼此都喜歡上了對(duì)方,但誰也不知道誰的名字,也不知道都在什么單位,只在是下班的十字口彼此投過一個(gè)眼神,就這樣在風(fēng)雨里等待,也無法去打聽,也沒有勇氣敢問對(duì)方,偶
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司財(cái)務(wù)要怎樣管理制度
- DB43-T 2791-2023 茭白-鱉共生綜合種養(yǎng)技術(shù)規(guī)程
- 插畫技術(shù)課件圖片大全
- 睢寧中級(jí)消防員課件視頻
- 《斷頭臺(tái)》測(cè)試題帶答案
- 挫折心理健康課件
- 年中工作匯報(bào)
- 2025年農(nóng)業(yè)生物技術(shù)在紅棗種子抗病育種中的應(yīng)用突破報(bào)告
- 腫瘤病人靶向治療的護(hù)查房講課件
- 外貿(mào)業(yè)務(wù)開放題目及答案
- DB50T 1125.6-2021區(qū)域性氣象災(zāi)害過程評(píng)估規(guī)范 第6部分:降雪
- 應(yīng)用寫作技能與規(guī)范(天津大學(xué))【超星爾雅學(xué)習(xí)通】網(wǎng)課章節(jié)答案
- 放射科-模擬CT增強(qiáng)造影突發(fā)過敏性休克的急救
- 收款賬戶確認(rèn)書四篇
- 蘇菲新生兒呼吸機(jī)操作手冊(cè)(中文)
- 市場(chǎng)監(jiān)督管理局企業(yè)注冊(cè)、經(jīng)營范圍登記規(guī)范表述:行業(yè)分類及條目代碼
- 廣西大學(xué)宏觀經(jīng)濟(jì)學(xué)期末復(fù)習(xí)題及參考答案
- GB/T 5780-2016六角頭螺栓C級(jí)
- GB/T 31997-2015風(fēng)力發(fā)電場(chǎng)項(xiàng)目建設(shè)工程驗(yàn)收規(guī)程
- GB/T 24926-2010全地形車制動(dòng)性能要求及試驗(yàn)方法
- GB/T 10410-2008人工煤氣和液化石油氣常量組分氣相色譜分析法
評(píng)論
0/150
提交評(píng)論