![C語言循環(huán)例題_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/1/80dbba39-1c61-4313-99eb-469841c86792/80dbba39-1c61-4313-99eb-469841c867921.gif)
![C語言循環(huán)例題_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/1/80dbba39-1c61-4313-99eb-469841c86792/80dbba39-1c61-4313-99eb-469841c867922.gif)
![C語言循環(huán)例題_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/1/80dbba39-1c61-4313-99eb-469841c86792/80dbba39-1c61-4313-99eb-469841c867923.gif)
![C語言循環(huán)例題_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/1/80dbba39-1c61-4313-99eb-469841c86792/80dbba39-1c61-4313-99eb-469841c867924.gif)
![C語言循環(huán)例題_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/1/80dbba39-1c61-4313-99eb-469841c86792/80dbba39-1c61-4313-99eb-469841c867925.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、有關(guān)循環(huán)的編程例題1./輸出a和b之間的所有素?cái)?shù), 10個(gè)素?cái)?shù)為一行輸出#include<stdio.h>#include<stdlib.h>#include<math.h>int panDuanSuShu(int x) /判斷x是否是素?cái)?shù) int i,m,flag; /flag為1表示是素?cái)?shù),flag為0表示不是素?cái)?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個(gè)素?cái)?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之間的所有素?cái)?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個(gè)素?cái)?shù)",a,b,shuChuSuShu(a,b);printf("nn");return 0;2./用戶輸入2個(gè)數(shù),輸出這2個(gè)數(shù)之間所有的超素?cái)?shù)/超素?cái)?shù)(質(zhì)數(shù))的概念:7193是素?cái)?shù),719是素?cái)?shù),71是素?cái)?shù),7是素?cái)?shù),則7193是素?cái)?shù)#include<stdio.h>#include<stdlib.h>#
4、include<math.h>int isPrime(int n)/判斷某數(shù)是否是素?cái)?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ù)是否是超素?cái)?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之間所有的超素?cái)?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三個(gè)數(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個(gè)。n",gouGuShu();/ system("pause");return 0;4./有一堆桃子,第一天猴子吃掉桃子的一半又多吃1個(gè),第二天猴子再吃掉桃子的一半又多吃一個(gè)/第10天只剩下1個(gè)桃子,問最初有多少個(gè)桃子#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個(gè)n",houZiChiTaoZi(); /system("pause"); return 0;5./由用戶輸入一個(gè)年份,再輸入該年的元旦是星期幾,再輸入一個(gè)月份,則打印輸出該月的日歷。/例如:輸入年份是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);/計(jì)算這個(gè)月有多少天ThisWeek=whichWeek(year,month,week);/計(jì)算這個(gè)月的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./一個(gè)整數(shù)的所有因子之和等于該數(shù),則這個(gè)數(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個(gè)嫌疑人,案件分析如下:/1.A,B
27、至少有一人作案/2.A,E,F中至少有兩人作案/3.A,D不可能是同案犯/4.B,C或同時(shí)作案,或與本案無關(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 等價(jià)于 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位做了好事不留名,/表揚(yáng)信來了之后,校長問這4位是誰做了好事。/A說:不是我;B說:是C;C說:是D;D說:他胡說。/已知3個(gè)人說的是真話,一個(gè)人說的是假話。/請編程找出做好事的
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個(gè)人做了好事,k=3 表示第3個(gè)人做了好事. /如果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個(gè)人每個(gè)人僅答對了一個(gè)。/編程給出4個(gè)湖從大到小的順序。/分析:/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./猜一個(gè)1-100之間的數(shù)并以最快的速度根據(jù)提示猜出所產(chǎn)生的隨機(jī)數(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的運(yùn)行單元時(shí)間(clocks數(shù)) double var; /var存放玩游戲所用的秒數(shù)int i,guess; /i存放計(jì)算機(jī)產(chǎn)生的隨機(jī)數(shù),guess存放玩家猜的數(shù)srand(time(0);printf("想測測你的智力么?來試一下?(Y/N)n");ch=getchar();while(ch='y'|ch='Y') i=rand()%100
36、+1;printf("n請猜一個(gè)1-100之間的數(shù)并以最快的速度根據(jù)提示猜出所產(chǎn)生的隨機(jī)數(shù):n");start=clock(); /clocks()函數(shù),返回類型clock_t,返回的是從程序開始,到你掉用clock()函數(shù)這段時(shí)間的clocks scanf("%d",&guess);while(guess!=i)if(guess<i)printf("大點(diǎn)!n"); elseprintf("小點(diǎn)!n"); scanf("%d",&guess);end=clock();var=(double)(end-start)/CLOCKS_PER_SEC; /end-start是段時(shí)間的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)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國新式茶飲行業(yè)市場競爭格局及投資方向研究報(bào)告(智研咨詢)
- 七年級下冊《三元一次方程組的解法》課件與練習(xí)
- 構(gòu)建平臺(tái)用戶個(gè)人信息保護(hù)制度
- 2025年衛(wèi)星數(shù)據(jù)采集系統(tǒng)項(xiàng)目合作計(jì)劃書
- 農(nóng)業(yè)技術(shù)研發(fā)推廣合作協(xié)議
- 裝修房屋委托合同
- 餐飲業(yè)食品安全保障與事故免責(zé)協(xié)議書
- 2025年工業(yè)廢氣凈化裝置項(xiàng)目發(fā)展計(jì)劃
- 2025年微球載體材料項(xiàng)目發(fā)展計(jì)劃
- 醫(yī)療美容服務(wù)項(xiàng)目風(fēng)險(xiǎn)告知與免責(zé)協(xié)議
- 外科圍手術(shù)期處理(外科學(xué)課件)
- 電力安全工作規(guī)程考試試題題庫
- 宮頸癌診療指南要點(diǎn)
- 兩個(gè)人合伙買攪拌車的合同
- ISO9001、ISO14001、ISO45001三標(biāo)一體內(nèi)部審核檢查表
- 體檢科護(hù)理講課課件
- 數(shù)字化賦能小學(xué)語文中段習(xí)作教學(xué)的有效策略探究
- 腦卒中護(hù)理課件
- 水利工程施工監(jiān)理規(guī)范(SL288-2014)用表填表說明及示例
- 部編版2023-2024學(xué)年六年級上冊語文期末測試試卷(含答案)
- 2025年考勤表(1月-12月)
評論
0/150
提交評論