版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、v題目:打印出所有的題目:打印出所有的“水仙花數(shù)水仙花數(shù)”,所謂,所謂“水仙花數(shù)水仙花數(shù)”是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:例如:153153是一個是一個“水仙花數(shù)水仙花數(shù)”,因為,因為153=1153=1的三次方的三次方5 5的三次方的三次方3 3的三次方。的三次方。v程序分析:利用程序分析:利用forfor循環(huán)控制循環(huán)控制100-999100-999個數(shù),每個數(shù)分個數(shù),每個數(shù)分解出個位,十位,百位。解出個位,十位,百位。 main() int i,j,k,n; printf(water flowernumber is:); f
2、or(n=100;n1000;n+) i=n/100; j=n/10%10; k=n%10; if(i*100+j*10+k=i*i*i+j*j*j+k*k*k) printf(%-5d,n); printf(n); /*分解出百位分解出百位*/*分解出十位分解出十位*/*分解出個位分解出個位*/水仙花數(shù)的邏輯判斷條件水仙花數(shù)的邏輯判斷條件v最大數(shù)問題:從鍵盤上任意輸入最大數(shù)問題:從鍵盤上任意輸入1010個整數(shù),求出其中個整數(shù),求出其中的最大數(shù)。的最大數(shù)。v算法分析:算法分析:v(1 1)設(shè)第一個數(shù)就是最大數(shù))設(shè)第一個數(shù)就是最大數(shù)maxmax;v(2 2)若最大數(shù))若最大數(shù)maxmax下一個數(shù)
3、下一個數(shù)nextnext,則該數(shù)應為所輸入,則該數(shù)應為所輸入的所有數(shù)中的最大數(shù)的所有數(shù)中的最大數(shù)(max next)(max next),否則最大數(shù)保持,否則最大數(shù)保持不變;不變;v(3 3)n n個數(shù)要進行個數(shù)要進行n-1n-1次比較次比較#include “stdio.h”main()int max, next, n; scanf(“%d”,&next); max=next; for (n=2;nmax) max=next; printf(“max=%dn”, max);/* 第一個數(shù)就是最大數(shù)第一個數(shù)就是最大數(shù) */* 輸入另外的九個數(shù),并依次輸入另外的九個數(shù),并依次比較出最大數(shù)
4、比較出最大數(shù) */* 打印出最大數(shù)打印出最大數(shù) */問題:求出以問題:求出以“9999”作為結(jié)束標志的一組整數(shù)的最大數(shù)。作為結(jié)束標志的一組整數(shù)的最大數(shù)。例如輸入:例如輸入:123 45 5678 34 9999 67 23456,輸出結(jié)果為,輸出結(jié)果為5678,即對,即對9999及其以后的數(shù)不作處理。及其以后的數(shù)不作處理。#include “stdio.h”main()int max, next, n; scanf(“%d”,&next); max=next; for ( ; next!=9999; scanf(“%d”,&next) ) if (nextmax) max=ne
5、xt; if (max!=9999) printf(“max=%dn”, max);/* 第一個數(shù)就是最大數(shù)第一個數(shù)就是最大數(shù) */v古典問題:有一對兔子,從出生后第古典問題:有一對兔子,從出生后第3 3個月起每個月都個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數(shù)為多少?兔子,假如兔子都不死,問每個月的兔子總數(shù)為多少?v程序分析:兔子的規(guī)律為數(shù)列程序分析:兔子的規(guī)律為數(shù)列1,1,2,3,5,8,13,21.1,1,2,3,5,8,13,21.v即從第三項開始,其每一項是前兩項之和即從第三項開始,
6、其每一項是前兩項之和main() long f1,f2; int i; f1=f2=1; for(i=1;i=20;i+) printf(%12ld %12ld,f1,f2); if(i%2=0) printf(n); f1=f1+f2; f2=f1+f2; /*控制輸出,每行四個控制輸出,每行四個*/*前兩個月加起來賦值給第三個月前兩個月加起來賦值給第三個月*/*前兩個月加起來賦值給第三個月前兩個月加起來賦值給第三個月*/v問題描述:位跳水高手參加米高臺跳水決賽,有好事者讓問題描述:位跳水高手參加米高臺跳水決賽,有好事者讓人據(jù)實力預測比賽結(jié)果人據(jù)實力預測比賽結(jié)果v選手說:第二,我第三;選手說
7、:第二,我第三;v選手說:我第二,第四;選手說:我第二,第四;v選手說:我第一,第二;選手說:我第一,第二;v選手說:最后,我第三;選手說:最后,我第三;v選手說:我第四,第一選手說:我第四,第一v決賽成績公布之后,每位選手的預測都只說對了一半,即一對一決賽成績公布之后,每位選手的預測都只說對了一半,即一對一錯請編程解出比賽的實際名次錯請編程解出比賽的實際名次#include void main() int cc1,cc2,cc3,cc4,cc5; int A,B,C,D,E; int g; for(A=1; A=5; A+) for(B=1; B=5; B+) for(C=1; C=5; C
8、+) for(D=1; D=5; D+) for(E=1; E=5; E+) cc1=(B=2)&(!(A=3)|(!(B=2)&(A=3); cc2=(B=2)&(!(E=4)|(!(B=2)&(E=4); cc3=(C=1)&(!(D=2)|(!(C=1)&(D=2); cc4=(C=5)&(!(D=3)|(!(C=5)&(D=3); cc5=(E=4)&(!(A=1)|(!(E=4)&(A=1); if(cc1+cc2+cc3+cc4+cc5)=5)&(A!=B)&(A!=C)&(A!
9、=D)&(A!=E)&(B!=C)&(B!=D)&(B!=E)&(C!=D)&(C!=E)&(D!=E) g=1; printf(A %dn, A); printf(B %dn, B); printf(C %dn, C); printf(D %dn, D); printf(E %dn, E); ; if(g!=1) printf(Cant found!n); /* cc1到到cc5代表代表5位選手的邏輯判斷位選手的邏輯判斷 */ /* A,B,C,D,E分別代表分別代表5位選手的名次位選手的名次 */* 問題是否解決的問題是否解決的BOO
10、L值值 */v題目:兩個乒乓球隊進行比賽,各出三人。甲隊為題目:兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,ca,b,c三人,乙隊為三人,乙隊為x,y,zx,y,z三人。已抽簽決定比賽名單。三人。已抽簽決定比賽名單。有人向隊員打聽比賽的名單。有人向隊員打聽比賽的名單。a a說他不和說他不和x x比,比,c c說他不說他不和和x,zx,z比,請編程序找出三隊賽手的名單。比,請編程序找出三隊賽手的名單。 main() char i,j,k; for(i=x;i=z;i+) for(j=x;j=z;j+) if(i!=j) for(k=x;k=z;k+) if(i!=k&j!=k) if(
11、i!=x&k!=x&k!=z) printf(order is a-%ctb-%ctc-%cn,i,j,k); /* i是是a的對手,的對手,j是是b的對手,的對手,k是是c的對手的對手 */v題目:輸入兩個正整數(shù)題目:輸入兩個正整數(shù)m m和和n n,求其最大公約數(shù)和最小,求其最大公約數(shù)和最小公倍數(shù)。公倍數(shù)。 v程序分析:利用輾除法程序分析:利用輾除法 vGCD(A, B)=GCD(B, A%B)GCD(A, B)=GCD(B, A%B)v當當A%B=0A%B=0時,時,B B即為最大公約數(shù)即為最大公約數(shù)vGCDGCD(1212,1818)=GCD=GCD(1818,1212)
12、v =GCD=GCD(1212,6 6)v =GCD=GCD(6 6,0 0)v所以所以1212和和1818的最大公約數(shù)為的最大公約數(shù)為6 6main() int a,b,temp; printf(please input two numbers:n); scanf(%d,%d,&a,&b); while(b!=0) /*利用輾除法,直到利用輾除法,直到b為為0為止為止*/ temp=a%b; a=b; b=temp; printf(gongyueshu:%dn,a); 問題:若要求兩個數(shù)的最小公倍數(shù),該如何修改程序?問題:若要求兩個數(shù)的最小公倍數(shù),該如何修改程序?v 素數(shù)問題
13、:從鍵盤上任意輸入一個十進制整數(shù),判斷素數(shù)問題:從鍵盤上任意輸入一個十進制整數(shù),判斷該數(shù)是否是一個素數(shù)。若是,則輸出該數(shù)是否是一個素數(shù)。若是,則輸出“該數(shù)是素數(shù)該數(shù)是素數(shù)”;否則輸出否則輸出“該項數(shù)不是素數(shù)該項數(shù)不是素數(shù)”。v 算法分析:算法分析:v(1 1)增加標志)增加標志flagflag。flag=1flag=1表示是素數(shù),表示是素數(shù),flag=0flag=0表示表示不是素數(shù)。、不是素數(shù)。、v(2 2)一個數(shù)只能被)一個數(shù)只能被1 1和其本身整除,就是素數(shù),因此和其本身整除,就是素數(shù),因此需從需從2 2到到n-1n-1逐一判斷(實際只需要到逐一判斷(實際只需要到n/2n/2)#inclu
14、de “stdio.h”main() int n, i,flag=1; printf(“請輸入一個十進制整數(shù)請輸入一個十進制整數(shù)”); scanf(“%d”,&n); for (i=2;i0) x1=(x2+1)*2; x2=x1; day-; printf(the total is %dn,x1); /*第一天的桃子數(shù)是第第一天的桃子數(shù)是第2天天桃子數(shù)加桃子數(shù)加1后的后的2倍倍*/main() int day,x=1; for(day=9;day=1;day- -) x=(x+1)*2; printf(the total is %dn,x); v題目:給一個不多于題目:給一個不多于5
15、 5位的正整數(shù),要求:一、求它是位的正整數(shù),要求:一、求它是幾位數(shù),二、逆序打印出各位數(shù)字。幾位數(shù),二、逆序打印出各位數(shù)字。 v分析:當分析:當num1!=0num1!=0時,時,v分離個位數(shù)分離個位數(shù)n n,位數(shù),位數(shù)k+k+,同時,同時num2=num2num2=num2* *10+n10+nv丟去丟去num1num1的個位數(shù),并重復以上操作的個位數(shù),并重復以上操作main()long num1, num2=0; int k=0, n;scanf(“%ld”, &num1);while (num1!=0) k+; n=num1%10; num2=num2*10+n; num1=nu
16、m1/10;printf(“num1是一個是一個%ld位數(shù)位數(shù)n”, k);printf(“num2=%dn”, num2); num1為原始數(shù)據(jù),為原始數(shù)據(jù),num2為倒序數(shù)據(jù),為倒序數(shù)據(jù),k為為num1的位數(shù),的位數(shù),n為為num1分離出的個位數(shù)分離出的個位數(shù)/*定義可處理的數(shù)據(jù)范圍是長整型數(shù)定義可處理的數(shù)據(jù)范圍是長整型數(shù)*/v題目:一個整數(shù),它加上題目:一個整數(shù),它加上100100后是一個完全平方數(shù),再后是一個完全平方數(shù),再加上加上168168又是一個完全平方數(shù),請問該數(shù)是多少?又是一個完全平方數(shù),請問該數(shù)是多少?v程序分析:在程序分析:在1010萬以內(nèi)判斷,先將該數(shù)加上萬以內(nèi)判斷,先將
17、該數(shù)加上100100后再開后再開方,再將該數(shù)加上方,再將該數(shù)加上268268后再開方,如果開方后的結(jié)果滿后再開方,如果開方后的結(jié)果滿足如下條件,即是結(jié)果。足如下條件,即是結(jié)果。 #include math.h main() long int i,x,y,z; for (i=1;i100000;i+) x=sqrt(i+100); y=sqrt(i+268); if(x*x=i+100&y*y=i+268) printf(n%ldn,i); /*x為加上為加上100后開方后的結(jié)果后開方后的結(jié)果*/*y為再加上為再加上168后開方后的結(jié)果后開方后的結(jié)果*/*如果一個數(shù)的平方根的平方等于該如
18、果一個數(shù)的平方根的平方等于該數(shù),這說明此數(shù)是完全平方數(shù)數(shù),這說明此數(shù)是完全平方數(shù)*/v題目:某個公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),題目:某個公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過程中是加密的,加密規(guī)則如下:每位數(shù)字都加上在傳遞過程中是加密的,加密規(guī)則如下:每位數(shù)字都加上5,5,然后用和除以然后用和除以1010的余數(shù)代替該數(shù)字,再將第一位和第四位交的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。換,第二位和第三位交換。 main() int a,i,aa4,t; scanf(%d,&a); aa0=a%10; aa1=a%100/10; aa2=a%
19、1000/100; aa3=a/1000; for(i=0;i=3;i+) aai+=5; aai%=10; for(i=0;i=0;i-) printf(%d,aai); /*每位數(shù)加每位數(shù)加5取余作為加密碼取余作為加密碼*/* 1、3交換,交換,2、4交換交換 */v題目:打印出楊輝三角形(要求打印出題目:打印出楊輝三角形(要求打印出1010行如下圖)行如下圖) 1.1.程序分析:程序分析:v 1 1 1 1 1 1 1 1 2 2 1 1 1 1 3 3 3 3 1 1 1 1 4 4 6 6 4 4 1 1 1 1 5 5 101010105 5 1 1 main() int i, j
20、, a1010; printf(n); for(i=0;i10;i+) ai0=1; aii=1; for(i=2;i10;i+) for(j=1;ji;j+) aij=ai-1j-1+ai-1j; for(i=0;i10;i+) for(j=0;j=i;j+) printf(%5d,aij); printf(n); /* 每行的第一和最后一個元素為每行的第一和最后一個元素為1 */* 每行中間元素值的確定每行中間元素值的確定 */* 第第i行打印行打印i個元素個元素 */ 冒泡排序法:冒泡排序法:從鍵盤上輸入一組數(shù),將其按從大到小從鍵盤上輸入一組數(shù),將其按從大到小的順序輸出。的順序輸出。 算法描述:算法描述: (1)每每相鄰的兩個數(shù)比較,使得大數(shù)下沉,小數(shù)上)每每相鄰的兩個數(shù)比較,使得大數(shù)下沉,小數(shù)上浮(內(nèi)循環(huán)共進行?。▋?nèi)循環(huán)共進行n-1次);次); (2) 反復進行以上操作,直到所有的數(shù)排序結(jié)束(外反復進行以上操作,直到所有的數(shù)排序結(jié)束(外循環(huán)共循環(huán)共n-1輪)輪) (3)若要提高效率,可以改變內(nèi)循環(huán)次或加上標志位)若要提高效率,可以改變內(nèi)循環(huán)次或加上標志位的方法的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度電影院線托管經(jīng)營服務(wù)協(xié)議3篇
- 2024年環(huán)保項目投資雙方合作協(xié)議書3篇
- 2024年生豬養(yǎng)殖合作協(xié)議模板版
- 二零二五年度房地產(chǎn)居間合同(含稅負承擔)3篇
- 2025年度老舊小區(qū)改造施工與配套設(shè)施安裝合同2篇
- 2024年短期工派遣協(xié)議
- 基于物聯(lián)網(wǎng)技術(shù)的智能家居開發(fā)合同
- 2024桶裝水采購配送合同范本:綠色環(huán)保飲水配送服務(wù)協(xié)議3篇
- 2025年度體育場館物業(yè)保潔與賽事保障服務(wù)協(xié)議3篇
- 2024年網(wǎng)絡(luò)安全防護系統(tǒng)投標前會議紀要與技術(shù)服務(wù)協(xié)議3篇
- 城市規(guī)劃思想史
- 山東師范大學新聞采訪期末復習題
- 小王子-英文原版
- 讓與擔保合同協(xié)議范本
- 住宅設(shè)計效果圖協(xié)議書
- 新版中國食物成分表
- 2024河南鄭州市金水區(qū)事業(yè)單位招聘45人歷年高頻難、易錯點500題模擬試題附帶答案詳解
- 食物損失和浪費控制程序
- TCI 373-2024 中老年人免散瞳眼底疾病篩查規(guī)范
- 2024四川太陽能輻射量數(shù)據(jù)
- 石油鉆采專用設(shè)備制造考核試卷
評論
0/150
提交評論