版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、有關(guān)循環(huán)的編程例題1./輸出a和b之間的所有素數(shù), 10個素數(shù)為一行輸出#include<stdio.h>#include<stdlib.h>#include<math.h>int panDuanSuShu(int x) /判斷x是否是素數(shù) int i,m,flag; /flag為1表示是素數(shù),flag為0表示不是素數(shù) m=(int)sqrt(x); if(x=2) flag=1; else for(i=2;i<=m;i+)if(x%i=0) flag=0;break;if(i>m) flag=1; return flag;int shuChuS
2、uShu(int a,int b)int i,k=0;/i是循環(huán)變量,k表示已經(jīng)輸出了k個素數(shù)for(i=a;i<=b;i+)if(panDuanSuShu(i)=1)printf("%6d",i);k+;if(k%10=0) printf("n");printf("n");return k;int main()int a,b,t;printf("輸入a和b,以便求a和b之間的所有素數(shù)n"); scanf("%d%d",&a,&b); while(a<2|b<2
3、) printf("重新輸入n和m:");scanf("%d%d",&a,&b); if(a>b) t=a;a=b;b=t; printf("%d和%d之間共有%d個素數(shù)",a,b,shuChuSuShu(a,b);printf("nn");return 0;2./用戶輸入2個數(shù),輸出這2個數(shù)之間所有的超素數(shù)/超素數(shù)(質(zhì)數(shù))的概念:7193是素數(shù),719是素數(shù),71是素數(shù),7是素數(shù),則7193是素數(shù)#include<stdio.h>#include<stdlib.h>#
4、include<math.h>int isPrime(int n)/判斷某數(shù)是否是素數(shù)int i,f,m=(int)sqrt(n);if(n=1) f=0;else for(i=2;i<=m;i+)if(n%i=0)break;if(i>m) f=1;else f=0;return f;int supperPrime(int n)/判斷某數(shù)是否是超素數(shù)int t=n;while(t>0)if(isPrime(t)=1)t=t/10;elsebreak;if(t=0) return 1;else return 0;void printSupperPrime(int
5、a,int b)/輸出a到b之間所有的超素數(shù)int i,m=0;for(i=a;i<=b;i+)if(supperPrime(i) printf("%8d",i); m+; if(m%5=0) printf("n");printf("n");int main()int a,b,t;printf("input a,b:");scanf("%d%d",&a,&b);while(a<2 | b<2)printf("input a,b:");scan
6、f("%d%d",&a,&b);if(a>b) t=a;a=b;b=t;printSupperPrime(a,b);printf("n");/system("pause");return 0;3./滿足a*a+b*b=c*c的a,b,c三個數(shù),稱為勾股數(shù)/編程輸出100以內(nèi)的所有勾股數(shù)#include<stdio.h>#include<stdlib.h>int gouGuShu()int x=0;for(int a=1;a<=100;a+)for(int b=a;b<=100;
7、b+)for(int c=b;c<=100;c+)if(a*a+b*b=c*c)if(x%4=0)printf("n");printf("%4d%4d%4d ",a,b,c);x+;return x;int main()printf("nn 100以內(nèi)的勾股數(shù)共有:%d個。n",gouGuShu();/ system("pause");return 0;4./有一堆桃子,第一天猴子吃掉桃子的一半又多吃1個,第二天猴子再吃掉桃子的一半又多吃一個/第10天只剩下1個桃子,問最初有多少個桃子#include<
8、stdio.h>#include<stdlib.h>int houZiChiTaoZi()int day=10,x1,x2=1; while(day>1) x1=(x2+1)*2; x2=x1; day-; return x1;int main() printf("最初桃子有%d個n",houZiChiTaoZi(); /system("pause"); return 0;5./由用戶輸入一個年份,再輸入該年的元旦是星期幾,再輸入一個月份,則打印輸出該月的日歷。/例如:輸入年份是2000年,輸入元旦為星期6,輸入月份為3,則輸出:
9、/3月 日 一 二 三 四 五 六/ 1 2 3 4/ 5 6 7 8 9 10 11/ 12 13 14 15 16 17 18/ 19 20 21 22 23 24 25/ 26 27 28 29 30 31#include<stdio.h>#include<stdlib.h>int LeepYear(int y)/判斷某年是否是閏年if(y%4=0&&y%100!=0|y%400=0)return 1;elsereturn 0;int HowManydays(int y,int m)/判斷該月有多少天int thisMonthDays;switch
10、(m) case 1:case 3:case 5:case 7: case 8: case 10: case 12: thisMonthDays=31;break; case 4: case 6: case 9: case 11:thisMonthDays=30;break; case 2: if(LeepYear(y)=1) thisMonthDays=29; else thisMonthDays=28;return thisMonthDays;/whichWeek函數(shù)判斷該月的1號是星期幾int whichWeek(int y,int m,int w) /w表示該年的元旦是星期幾 int
11、febDay;/存放2月份有多少天int days;/存放該月的1號距離元月1號有多少天int thisWeek;/存放該月的1號是星期幾if(LeepYear(y) febDay=29;else febDay=28; switch(m)case 1: days=0;break;case 2: days=31;break;case 3: days=31+febDay;break;case 4: days=2*31+febDay;break;case 5: days=2*31+30+febDay;break;case 6: days=3*31+30+febDay;break;case 7: da
12、ys=3*31+2*30+febDay;break;case 8: days=4*31+2*30+febDay;break;case 9: days=5*31+2*30+febDay;break;case 10: days=5*31+3*30+febDay;break;case 11:days=6*31+3*30+febDay;break;case 12:days=6*31+4*30+febDay;break;thisWeek=(days+w)%7;return thisWeek;/shuChuRiLi函數(shù)的功能是輸出日歷void shuChuRiLi(int year,int month,i
13、nt week) /week表示該年的元旦是星期幾int ThisMonthDay,ThisWeek,d,i; ThisMonthDay=HowManydays(year,month);/計算這個月有多少天ThisWeek=whichWeek(year,month,week);/計算這個月的1號是星期幾printf("nn");printf("%4d月 日 一 二 三 四 五 六n",month);printf("%6c",' ');d=1;for(i=0;i<ThisWeek;i+) /輸出1號前面的空格pri
14、ntf("%6c",' ');for(i=ThisWeek;i<=6;i+,d+) /輸出1號所在的那1行日歷printf("%6d",d);while(d<=ThisMonthDay)if(i%7=0)printf("n");printf("%6c",' ');printf("%6d",d);d+;i+;printf("nn");int main()int year=-20,month=13,week=9;while(year&l
15、t;0)printf("請輸入年份:");scanf("%d",&year);while(month>12|month<1)printf("請輸入月份:");scanf("%d",&month);while(week>7|week<1)printf("該年的元旦是星期幾?");scanf("%d",&week);shuChuRiLi(year,month,week);system("pause");retur
16、n 0;6./輸出三種形式的九九乘法口訣表#include<stdio.h>#include<stdlib.h>void chengFaKouJueBiao1()int i,j;printf(" *|");for(i=1;i<=9;i+)printf("%4d",i); printf("n");for(i=1;i<=40;i+)printf("-");printf("n"); for(i=1;i<=9;i+) printf("%2d|"
17、;,i);for(j=1;j<=9;j+)printf("%4d",i*j);printf("n");printf("nn");void chengFaKouJueBiao2()int i,j;printf(" *");for(i=1;i<=9;i+)printf("%4d",i); printf("n"); for(i=1;i<=9;i+) printf("%2d",i);for(j=1;j<=i;j+)printf("
18、%4d",i*j);printf("n");printf("nn");void chengFaKouJueBiao3()int i,j; printf("n"); for(i=1;i<=9;i+) for(j=1;j<=i;j+)printf("%d*%d=%-4d",i,j,i*j);printf("n");printf("nn");int main()chengFaKouJueBiao1();chengFaKouJueBiao2();chengFaK
19、ouJueBiao3();/ system("pause");return 0;7./用戶輸入三角形的高度,輸出由*構(gòu)成的三角形。 #include<stdio.h>#include<stdlib.h>void shuChuSanJiaoXing(int n)int h,k,s;for(h=1;h<=n;h+)for(k=1;k<=n-h+1;k+)printf(" ");for(s=1;s<=2*h-1;s+)printf("*");printf("n");printf(
20、"nn"); int main()int n;printf("輸入三角形的行數(shù):");scanf("%d",&n);while(n<2)printf("輸入三角形的行數(shù):");scanf("%d",&n);shuChuSanJiaoXing(n);/system("pause");return 0; 8./輸出邊長為n的空心菱形 #include<stdio.h>#include<stdlib.h>void shuChuKongX
21、inlingXing(int n) int h,k,s; for(k=1;k<=n;k+) printf(" "); printf("*n"); for(h=2;h<=n;h+) for(k=1;k<=n-h+1;k+) printf(" "); printf("*"); for(k=1;k<=2*h-3;k+) printf(" "); printf("*"); printf("n"); for(h=1;h<=n-2;h+)
22、 for(k=1;k<=h+1;k+) printf(" "); printf("*"); for(k=1;k<=2*n-2*h-3;k+) printf(" "); printf("*"); printf("n"); for(k=1;k<=n;k+) printf(" "); printf("*"); printf("nn"); int main() int n; printf("輸入菱形的邊長:"
23、;); scanf("%d",&n); while(n<2) printf("菱形邊長必須大于2,請重新輸入菱形的邊長:"); scanf("%d",&n); shuChuKongXinlingXing(n); / system("pause"); return 0; 9.#include<stdio.h>#include<stdlib.h>/輸出所有三位的水仙花數(shù)void sanWeiShuiXianHuaShu()int i,a,b,c;for(i=100;i<
24、;=999;i+)a=i/100;b=i/10%10; / b=i%100/10; c=i%10;if(i=a*a*a+b*b*b+c*c*c)printf("%6d",i);/輸出所有四位的水仙花數(shù)void siWeiShuiXianHuaShu()int i,a,b,c,d;for(i=1000;i<=9999;i+)a=i/1000;b=i/100%10; c=i/10%10;d=i%10;if(i=a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)printf("%6d",i);int main()printf("三
25、位的水仙花數(shù)有:n");sanWeiShuiXianHuaShu();printf("nn");printf("四位的水仙花數(shù)有:n");siWeiShuiXianHuaShu();printf("nn"); /system("pause");return 0; 10./一個整數(shù)的所有因子之和等于該數(shù),則這個數(shù)是完數(shù)。/輸出1000以內(nèi)的完數(shù)及其因子#include<stdio.h>#include<stdlib.h>void wanShu()int i,k,sum;for(i=1
26、;i<=1000;i+) sum=0;for(k=1;k<=i-1;k+) if(i%k=0) sum=sum+k; if(sum=i) printf("%5d:its factors are ",i);for(k=1;k<=i-1;k+) if(i%k=0)printf("%d,",k); printf("n");int main()wanShu();printf("n"); system("pause");return 0; 11./有6個嫌疑人,案件分析如下:/1.A,B
27、至少有一人作案/2.A,E,F中至少有兩人作案/3.A,D不可能是同案犯/4.B,C或同時作案,或與本案無關(guān)/5.C,D中有且僅有一人作案/6.如果D沒作案,則E也沒作案。/假設(shè)案件分析正確,請編程將作案人找出來/分析: /1.x1=A|B/2.x2=A&&E | A&&F | E&&F/3.x3=!(A&&D)/4.x4=B&&C | !B&&!C/5.x5=C&&!D | !C&&D/6.x6=!D!E 等價于 x6=D|!E/令X=x1+x2+x3+x4+x5+
28、x6為6的結(jié)果就是答案#include<stdio.h>#include<stdlib.h>void zhenTanDuanAn()int a,b,c,d,e,f,x1,x2,x3,x4,x5,x6,x; for(a=0;a<=1;a+) for(b=0;b<=1;b+) for(c=0;c<=1;c+) for(d=0;d<=1;d+) for(e=0;e<=1;e+) for(f=0;f<=1;f+) x1=a|b; x2=a&&e|a&&f|e&&f; x3=!(a&&am
29、p;d); x4=b&&c|!b&&!c; x5=c&&!d|!c&&d; x6=d|!e; x=x1+x2+x3+x4+x5+x6; if(x=6) printf("A%s罪犯,B%s罪犯,C%s罪犯,D%s罪犯,E%s罪犯,F%s罪犯nn", a=1?"是":"不是",b=1?"是":"不是",c=1?"是":"不是", d=1?"是":"不是",e
30、=1?"是":"不是",f=1?"是":"不是"); /printf("A=%d,B=%d,C=%d,D=%d,E=%d,F=%dn",a,b,c,d,e,f); int main()zhenTanDuanAn(); /system("pause"); return 0;12./一學(xué)校有4位學(xué)生中的1位做了好事不留名,/表揚信來了之后,校長問這4位是誰做了好事。/A說:不是我;B說:是C;C說:是D;D說:他胡說。/已知3個人說的是真話,一個人說的是假話。/請編程找出做好事的
31、人。#include<stdio.h>#include<stdlib.h>void shuiZuoLeHaoShi()int k,f=0;/f是找到的標(biāo)記,f=0表示還沒找到 for(k=1;k<=4;k+)/k=1表示第1個人做了好事,k=3 表示第3個人做了好事. /如果4句話中有3句話為真,則輸出做好事者 if(k!=1)+(k=3)+(k=4)+(k!=4)=3) printf("做好事者為%c",char(64+k); f=1;/f=1表示找到了 if(f!=1)/如果循環(huán)結(jié)束后沒有找到 printf("找不到!n"
32、;);int main() shuiZuoLeHaoShi(); printf("n"); /system("pause"); return 0;13./4人談?wù)?湖/A說:洞庭湖(d)最大,洪澤湖h最小,鄱陽湖b第三/B說:洪澤湖h最大,洞庭湖d最小,鄱陽湖b第二,太湖t第三/C說:洪澤湖h最小,洞庭湖d第三/D說:鄱陽湖最大,太湖最小,洪澤湖第二,洞庭湖第三。/4個人每個人僅答對了一個。/編程給出4個湖從大到小的順序。/分析:/A=(d=1)+(h=4)+(b=3)/B=(h=1)+(d=4)+(b=2)+(t=3)/C=(h=4)+(d=3)/D=
33、(b=1)+(t=4)+(h=2)+(d=3)#include<stdio.h>#include<stdlib.h>void panDuanSiDaDanShuiHu()int b,d,h,t,A,B,C,D;for(b=1;b<=4;b+)for(d=1;d<=4;d+)for(h=1;h<=4;h+)for(t=1;t<=4;t+)A=(d=1)+(h=4)+(b=3);B=(h=1)+(d=4)+(b=2)+(t=3);C=(h=4)+(d=3);D=(b=1)+(t=4)+(h=2)+(d=3);if(A=1&&B=1&a
34、mp;&C=1&&D=1&&b!=d&&b!=h&&b!=t&&d!=h&&d!=t&&h!=t)printf("洪澤湖第%dn鄱陽湖第%dn太湖第%dn洞庭湖第%dnn",h,b,t,d);int main()panDuanSiDaDanShuiHu(); / system("pause"); return 0;14./猜一個1-100之間的數(shù)并以最快的速度根據(jù)提示猜出所產(chǎn)生的隨機數(shù)#include<time.h>#inc
35、lude<stdio.h>#include<stdlib.h>void caiShu()char ch;clock_t start,end;/clock_t數(shù)據(jù)類型用來記錄CPU的運行單元時間(clocks數(shù)) double var; /var存放玩游戲所用的秒數(shù)int i,guess; /i存放計算機產(chǎn)生的隨機數(shù),guess存放玩家猜的數(shù)srand(time(0);printf("想測測你的智力么?來試一下?(Y/N)n");ch=getchar();while(ch='y'|ch='Y') i=rand()%100
36、+1;printf("n請猜一個1-100之間的數(shù)并以最快的速度根據(jù)提示猜出所產(chǎn)生的隨機數(shù):n");start=clock(); /clocks()函數(shù),返回類型clock_t,返回的是從程序開始,到你掉用clock()函數(shù)這段時間的clocks scanf("%d",&guess);while(guess!=i)if(guess<i)printf("大點!n"); elseprintf("小點!n"); scanf("%d",&guess);end=clock();var=(double)(end-start)/CLOCKS_PER_SEC; /end-start是段時間的clocks,除以系統(tǒng)常量CLOCKS_PER_SEC 才能得到秒數(shù) printf("11:你花了%6.3f秒n",var);if(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 短期胰島素強化治療
- 核酸付款合同范本
- 非勞力性熱射病診斷
- 室內(nèi)設(shè)計合作協(xié)議三篇
- 《我國農(nóng)村公共文化服務(wù)供給問題研究》
- 《榮格象征理論視域下藝術(shù)創(chuàng)作的療愈性研究》
- 《高等教育大眾化背景下的輔導(dǎo)員影響力研究》
- 《T公司年報審計重大錯報風(fēng)險識別與應(yīng)對研究》
- 《乙蟲腈對蚯蚓的生態(tài)毒性效應(yīng)研究》
- 酒店宴會服務(wù)承攬合同三篇
- 2024年衛(wèi)生系統(tǒng)招聘考試-衛(wèi)生系統(tǒng)招聘考試(公共衛(wèi)生管理)筆試歷年真題薈萃含答案
- 病情突變應(yīng)急預(yù)案護理課件
- 工業(yè)機器人大學(xué)生職業(yè)生涯規(guī)劃
- 企業(yè)風(fēng)險管理與人才培養(yǎng)的關(guān)系
- 部編版一年級語文上冊第八單元
- 配網(wǎng)電力工人培訓(xùn)課件
- 中南地區(qū)工程建設(shè)標(biāo)準(zhǔn)設(shè)計建筑圖集 13ZJ601 木門窗
- 《人力資源配置》課件
- 新概念第二冊中英文對照已逐字校對版
- GB/T 43613-2023無損檢測數(shù)字射線檢測圖像處理與通信
- 《體育運動英語》課件
評論
0/150
提交評論