




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
課件封面課件封面實驗教學(xué)標(biāo)題輸入、輸出和選擇結(jié)構(gòu)程序?qū)嶒灲虒W(xué)標(biāo)題輸入、輸出和選擇結(jié)構(gòu)程序6常用算法程序常用算法程序【18.】編寫程序求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù)。
6常用算法程序常用算法程序【18.】編寫程序求兩個整數(shù)的最#include<stdio.h>voidmain(){ intm,n,t; printf("輸入兩個數(shù)(用空格或者回車間隔)\n"); scanf("%d%d",&m,&n);
//設(shè)t為m,n的最小數(shù)
if(m>n)t=n; elset=m; while(t>0){ if(m%t==0&&n%t==0)break;
//每次檢查m和n能否整除t如果是則找到最大公約數(shù)
t--; } printf("%d和%d的最大公約數(shù)為%d\n",m,n,t);
//設(shè)t為m,n的最大數(shù)
if(m>n)t=m; elset=n; while(1){ if(t%m==0&&t%n==0)break;
//每次檢查t能否整除m和n如果是則找到最小公倍數(shù)
t++; } printf("%d和%d的最小公倍數(shù)為%d\n",m,n,t);}#include<stdio.h>6常用算法程序常用算法程序【19.】編寫一個函數(shù)IsP(intn),函數(shù)的功能是檢查n是否為素數(shù),如果是函數(shù)返回“真”,否則返回“假”。在主函數(shù)中調(diào)用該函數(shù),打印100~1000之間的全部素數(shù)。
6常用算法程序常用算法程序【19.】編寫一個函數(shù)IsP(i#include<stdio.h>intIsP(intn)//函數(shù)的功能是檢查n是否為素數(shù){ inti; //分析:從2到n-1逐一檢查能否整除n,只要有一個整除則肯定不是素數(shù),所有均不能整除則肯定是素數(shù)
for(i=2;i<n;i++) if(n%i==0)return0;
//只要有一個整除則不是素數(shù)
return1;}voidmain(){ inti;
//打印100~1000之間的全部素數(shù)
for(i=100;i<1000;i++) if(IsP(i)) printf("%d\n",i);}#include<stdio.h>6常用算法程序常用算法程序【20.】用篩選法求100之內(nèi)的素數(shù)。
6常用算法程序常用算法程序【20.】用篩選法求100之內(nèi)的#include<stdio.h>voidcal_prime(intA[],intn)//使用篩選法計算素數(shù){inti,j;for(i=2;i<=n;i++)for(j=2;i*j<=n;j++){//如果該數(shù)尚未篩選過,則標(biāo)記該數(shù)選中
if(A[i*j]==1)A[i*j]=0;else//如果已經(jīng)篩選過,則跳出改次篩選,進(jìn)入下次篩選
continue;}}voidmain(){ intA[100+1];//下標(biāo)需要從2到100,因此數(shù)組長度為100+1 inti;
//將全部數(shù)組元素設(shè)為1表示未被篩出
for(i=2;i<=100;i++) A[i]=1; cal_prime(A,100); for(i=2;i<=100;i++) if(A[i]==1)//未被篩出的元素必定是素數(shù)
printf("%d\n",i);}#include<stdio.h>6常用算法程序常用算法程序【21.】用二分查找法在已排序好的數(shù)組中查找輸入的數(shù)。如果找到了輸出該數(shù)的下標(biāo),否則輸出“未找到”。(數(shù)組為:1,2,13,24,25,44,57,63,66,78,90,100)。
6常用算法程序常用算法程序【21.】用二分查找法在已排序好#include<stdio.h>#include<math.h>voidmain(){ inta[10]={1,3,5,7,9,11,13,15,17,19}; inth; //查找區(qū)域開始位置
intt; //查找區(qū)域結(jié)束位置
intm; //查找區(qū)域中間位置
intsign=0; //為0表示未找到,為表示找到
intf; //要查找的數(shù)據(jù)
printf("請輸入要查找的數(shù)據(jù):"); scanf("%d",&f); h=0,t=9; //一開始將整個數(shù)組設(shè)為查找區(qū)域
if(!(f<a[0]||f>a[9])) {
//如果要查找的數(shù)據(jù)比開始元素小或者比結(jié)束元素大,則肯定不在查找區(qū)域中
#include<stdio.h>while(!sign&&h<=t) {m=(h+t)/2; //計算當(dāng)前查找區(qū)域的中間位置
if(f==a[m])
//如果要找的數(shù)據(jù)與中間位置的數(shù)據(jù)相等表示找到了
{printf("%d找到了,它是:A[%d]\n",f,m); sign=1; } elseif(f>a[m])//否則如果要找的數(shù)據(jù)比中間位置的數(shù)據(jù)大
h=m+1;//則下一次的查找區(qū)域在右半部分
else t=m-1;//否則下一次的查找區(qū)域在左半部分
} } if(sign==0) printf("在數(shù)組中%d沒有找到\n",f);}while(!sign&&h<=t)6常用算法程序常用算法程序【22.】編寫一個函數(shù)sort(intA[],intn),函數(shù)的功能是用冒泡法對數(shù)組進(jìn)行由大到小的排序,其中n為數(shù)組A的元素個數(shù)。在主函數(shù)中輸入10個數(shù)據(jù),調(diào)用函數(shù)排序,然后輸出排序好的10個數(shù)據(jù)。(輸入數(shù)據(jù):6,8,9,1,2,5,4,7,3,18)
6常用算法程序常用算法程序【22.】編寫一個函數(shù)sort(#include<stdio.h>voidsort(intA[],intn){ inti,j; intt;
//改進(jìn)后的冒泡法排序
for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(A[i]<A[j])
//<為由大到小,>為由小到大,A[i]表示前面的數(shù),A[j]表示后面的數(shù)
{t=A[i],A[i]=A[j],A[j]=t;}}voidmain(){ intA[10]; inti; printf("連續(xù)輸入10個數(shù)據(jù)(用空格或者TAB或者回車間隔)\n"); for(i=0;i<10;i++) scanf("%d",&A[i]); sort(A,10);
//輸出排序后的數(shù)組
for(i=0;i<10;i++) printf("%d",A[i]);}#include<stdio.h>6常用算法程序常用算法程序【23.】編寫一個函數(shù)sort(intA[],intn),函數(shù)的功能是用選擇法對數(shù)組進(jìn)行由小到大的排序,其中n為數(shù)組A的元素個數(shù)。在主函數(shù)中輸入10個數(shù)據(jù),調(diào)用函數(shù)排序,然后輸出排序好的10個數(shù)據(jù)。(輸入數(shù)據(jù):6,8,9,1,2,5,4,7,3,18)
6常用算法程序常用算法程序【23.】編寫一個函數(shù)sort(#include<stdio.h>voidsort(intA[],intn){ inti,j,k; intt;
//改進(jìn)后的選擇法排序
for(i=0;i<n-1;i++){ k=i; for(j=i+1;j<n;j++) if(A[k]>A[j])k=j;
//<為由大到小,>為由小到大,A[k]表示前面的數(shù),A[j]表示后面的數(shù)
if(k!=i) {t=A[i],A[i]=A[k],A[k]=t;} }}voidmain(){ intA[10]; inti; printf("連續(xù)輸入10個數(shù)據(jù)(用空格或者TAB或者回車間隔)\n"); for(i=0;i<10;i++)scanf("%d",&A[i]);
sort(A,10);
//輸出排序后的數(shù)組
for(i=0;i<10;i++)printf("%d",A[i]);}#include<stdio.h>演講完畢,謝謝觀看!演講完畢,謝謝觀看!課件封面課件封面實驗教學(xué)標(biāo)題輸入、輸出和選擇結(jié)構(gòu)程序?qū)嶒灲虒W(xué)標(biāo)題輸入、輸出和選擇結(jié)構(gòu)程序6常用算法程序常用算法程序【18.】編寫程序求兩個整數(shù)的最大公約數(shù)和最小公倍數(shù)。
6常用算法程序常用算法程序【18.】編寫程序求兩個整數(shù)的最#include<stdio.h>voidmain(){ intm,n,t; printf("輸入兩個數(shù)(用空格或者回車間隔)\n"); scanf("%d%d",&m,&n);
//設(shè)t為m,n的最小數(shù)
if(m>n)t=n; elset=m; while(t>0){ if(m%t==0&&n%t==0)break;
//每次檢查m和n能否整除t如果是則找到最大公約數(shù)
t--; } printf("%d和%d的最大公約數(shù)為%d\n",m,n,t);
//設(shè)t為m,n的最大數(shù)
if(m>n)t=m; elset=n; while(1){ if(t%m==0&&t%n==0)break;
//每次檢查t能否整除m和n如果是則找到最小公倍數(shù)
t++; } printf("%d和%d的最小公倍數(shù)為%d\n",m,n,t);}#include<stdio.h>6常用算法程序常用算法程序【19.】編寫一個函數(shù)IsP(intn),函數(shù)的功能是檢查n是否為素數(shù),如果是函數(shù)返回“真”,否則返回“假”。在主函數(shù)中調(diào)用該函數(shù),打印100~1000之間的全部素數(shù)。
6常用算法程序常用算法程序【19.】編寫一個函數(shù)IsP(i#include<stdio.h>intIsP(intn)//函數(shù)的功能是檢查n是否為素數(shù){ inti; //分析:從2到n-1逐一檢查能否整除n,只要有一個整除則肯定不是素數(shù),所有均不能整除則肯定是素數(shù)
for(i=2;i<n;i++) if(n%i==0)return0;
//只要有一個整除則不是素數(shù)
return1;}voidmain(){ inti;
//打印100~1000之間的全部素數(shù)
for(i=100;i<1000;i++) if(IsP(i)) printf("%d\n",i);}#include<stdio.h>6常用算法程序常用算法程序【20.】用篩選法求100之內(nèi)的素數(shù)。
6常用算法程序常用算法程序【20.】用篩選法求100之內(nèi)的#include<stdio.h>voidcal_prime(intA[],intn)//使用篩選法計算素數(shù){inti,j;for(i=2;i<=n;i++)for(j=2;i*j<=n;j++){//如果該數(shù)尚未篩選過,則標(biāo)記該數(shù)選中
if(A[i*j]==1)A[i*j]=0;else//如果已經(jīng)篩選過,則跳出改次篩選,進(jìn)入下次篩選
continue;}}voidmain(){ intA[100+1];//下標(biāo)需要從2到100,因此數(shù)組長度為100+1 inti;
//將全部數(shù)組元素設(shè)為1表示未被篩出
for(i=2;i<=100;i++) A[i]=1; cal_prime(A,100); for(i=2;i<=100;i++) if(A[i]==1)//未被篩出的元素必定是素數(shù)
printf("%d\n",i);}#include<stdio.h>6常用算法程序常用算法程序【21.】用二分查找法在已排序好的數(shù)組中查找輸入的數(shù)。如果找到了輸出該數(shù)的下標(biāo),否則輸出“未找到”。(數(shù)組為:1,2,13,24,25,44,57,63,66,78,90,100)。
6常用算法程序常用算法程序【21.】用二分查找法在已排序好#include<stdio.h>#include<math.h>voidmain(){ inta[10]={1,3,5,7,9,11,13,15,17,19}; inth; //查找區(qū)域開始位置
intt; //查找區(qū)域結(jié)束位置
intm; //查找區(qū)域中間位置
intsign=0; //為0表示未找到,為表示找到
intf; //要查找的數(shù)據(jù)
printf("請輸入要查找的數(shù)據(jù):"); scanf("%d",&f); h=0,t=9; //一開始將整個數(shù)組設(shè)為查找區(qū)域
if(!(f<a[0]||f>a[9])) {
//如果要查找的數(shù)據(jù)比開始元素小或者比結(jié)束元素大,則肯定不在查找區(qū)域中
#include<stdio.h>while(!sign&&h<=t) {m=(h+t)/2; //計算當(dāng)前查找區(qū)域的中間位置
if(f==a[m])
//如果要找的數(shù)據(jù)與中間位置的數(shù)據(jù)相等表示找到了
{printf("%d找到了,它是:A[%d]\n",f,m); sign=1; } elseif(f>a[m])//否則如果要找的數(shù)據(jù)比中間位置的數(shù)據(jù)大
h=m+1;//則下一次的查找區(qū)域在右半部分
else t=m-1;//否則下一次的查找區(qū)域在左半部分
} } if(sign==0) printf("在數(shù)組中%d沒有找到\n",f);}while(!sign&&h<=t)6常用算法程序常用算法程序【22.】編寫一個函數(shù)sort(intA[],intn),函數(shù)的功能是用冒泡法對數(shù)組進(jìn)行由大到小的排序,其中n為數(shù)組A的元素個數(shù)。在主函數(shù)中輸入10個數(shù)據(jù),調(diào)用函數(shù)排序,然后輸出排序好的10個數(shù)據(jù)。(輸入數(shù)據(jù):6,8,9,1,2,5,4,7,3,18)
6常用算法程序常用算法程序【22.】編寫一個函數(shù)sort(#include<stdio.h>voidsort(intA[],intn){ inti,j; intt;
//改進(jìn)后的冒泡法排序
for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(A[i]<A[j])
//<為由大到小,>為由小到大,A[i]表示前面的數(shù),A[j]表示后面的數(shù)
{t=A[i],A[i]=A[j],A[j]=t;}}voidmain(){ intA[10]; inti; printf("連續(xù)輸入10個數(shù)據(jù)(用空格或者TAB或者回車間隔)\n"); for(i=0;i<10;i++) sca
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 薪材苗木采購合同
- 電子支付中介合同
- 財務(wù)人員雇傭合同
- 電子書內(nèi)容創(chuàng)新與策劃考核試卷
- 誠信租房合同簽署指南
- 糧食倉儲企業(yè)綠色經(jīng)濟(jì)企業(yè)風(fēng)險管理考核試卷
- 竹材運(yùn)輸中的損耗控制考核試卷
- 油墨的紫外光固化技術(shù)考核試卷
- 成人教育中的學(xué)習(xí)滿意度調(diào)查考核試卷
- 管道工程可持續(xù)發(fā)展戰(zhàn)略考核試卷
- 創(chuàng)新物業(yè)服務(wù)管理的思路與方法
- 上市公司涉稅風(fēng)險分析報告
- 少數(shù)民族維吾爾族民俗文化介紹圖文課件
- 引導(dǎo)接車監(jiān)控裝置操作辦法
- 《中國馬克思主義與當(dāng)代》部分課后題-參考答案
- 讀書分享交流會《外婆的道歉信》課件
- 科技論文寫作與學(xué)術(shù)規(guī)范課件
- 醫(yī)療器械自查表【模板】
- 2023學(xué)年完整公開課版《2BM3U2Rules》教學(xué)
- 曼陀羅繪畫療法
- 四年級下冊英語素材單元知識點總結(jié) 陜旅版
評論
0/150
提交評論