![C語言模板程序(新手必看)_第1頁](http://file4.renrendoc.com/view/9094df08330d8367eb15fe17812318de/9094df08330d8367eb15fe17812318de1.gif)
![C語言模板程序(新手必看)_第2頁](http://file4.renrendoc.com/view/9094df08330d8367eb15fe17812318de/9094df08330d8367eb15fe17812318de2.gif)
![C語言模板程序(新手必看)_第3頁](http://file4.renrendoc.com/view/9094df08330d8367eb15fe17812318de/9094df08330d8367eb15fe17812318de3.gif)
![C語言模板程序(新手必看)_第4頁](http://file4.renrendoc.com/view/9094df08330d8367eb15fe17812318de/9094df08330d8367eb15fe17812318de4.gif)
![C語言模板程序(新手必看)_第5頁](http://file4.renrendoc.com/view/9094df08330d8367eb15fe17812318de/9094df08330d8367eb15fe17812318de5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語言模板程序(新手必看!!)C語言模板程序(新手必看!!)C語言模板程序(新手必看!!)C語言模板程序(新手必看!!)編制僅供參考審核批準(zhǔn)生效日期地址:電話:傳真:郵編:C語言模板程序1求兩個(gè)數(shù)最大公約數(shù)方法一:輾轉(zhuǎn)相除法思路:兩個(gè)數(shù),用較大的數(shù)除以較小的數(shù),所得余數(shù)與較小的數(shù)記為新的兩個(gè)數(shù),再重復(fù)之前的過程,直到余數(shù)為0,這時(shí)較大的數(shù)就是最大公約數(shù)。完整程序#include<>
intmain()
{
intm,n,r;
scanf("%d,%d",&m,&n);
do
{
r=m%n;
m=n;
n=r;
}
while(n);
printf("greatestcommondivisoris%d\n",m);
return0;
}封裝函數(shù)intgcd(intm,intn)
{
do
{
r=m%n;
m=n;
n=r;
}
while(n);
returnm;
}調(diào)用函數(shù)#include<>
intmain()
{
intm,n,r;
intgcd(intm,intn);
scanf("%d,%d",&m,&n);
gcd(intm,intn);
printf("greatestcommondivisoris%d\n",m);
return0;
}方法二:更相減損法思路:兩個(gè)數(shù),用較大的數(shù)減去較小的數(shù),所得差與較小的數(shù)記為新的兩個(gè)數(shù),再重復(fù)之前的過程,直到兩個(gè)數(shù)相等,這時(shí)這兩個(gè)數(shù)就是最大公約數(shù)。完整程序#include<>
intmain()
{
intm,n;
scanf("%d,%d",&m,&n);
while(m!=n)
{
if(m>n)m-=n;
elsen-=m;
}
printf("greatestcommondivisoris%d\n",m);
return0;
}封裝函數(shù)intgcd(intm,intn)
{
while(m!=n)
{
if(m>n)m-=n;
elsen-=m;
}
returnm;
}調(diào)用函數(shù)#include<>
intmain()
{
intm,n,r;
intgcd(intm,intn);
scanf("%d,%d",&m,&n);
printf("greatestcommondivisoris%d\n",gcd(m,n));
return0;
}2求兩個(gè)數(shù)最小公倍數(shù)思路:兩個(gè)數(shù),從較大的數(shù)開始,依次找能同時(shí)整除這兩個(gè)數(shù)的整數(shù),這個(gè)整數(shù)就是這兩個(gè)數(shù)的最小公倍數(shù)。完整程序#include<>
intmain()
{
intm,n,i;
scanf("%d,%d",&m,&n);
for(i=(m>nm:n);;i++)
if(i%m==0&&i%n==0)
{
printf("leasecommonmultipleis%d",i);
break;
}
return0;
}封裝函數(shù)intlcm(intm,intn)
{
inti;
for(i=(m>nm:n);;i++)
if(i%m==0&&i%n==0)
returni;
}調(diào)用函數(shù)#include<>
intmain()
{
intm,n,i;
intlcm(intm,intn);
scanf("%d,%d",&m,&n);
printf("leasecommonmultipleis%d",lcm(m,n));
return0;
}3判斷素?cái)?shù)思路:從2開始到所求整數(shù)的開方依次求余,如果有能整除所求整數(shù)的整數(shù),則所求整數(shù)為合數(shù),反之為素?cái)?shù)。完整程序#include<>
#include<>
intmain()
{
intnum;
inti,k,flag=1;
scanf("%d",&num);
k=sqrt(num);
for(i=2;i<=k;i++)
{
if(num%i==0)printf("%disn'taprimenumber!",num);
flag=0;
}
if(flag)printf("%disaprimenumber!",num);
return0;
}封裝函數(shù)intsushu(intnum)
{
inti,k;
k=sqrt(num);
for(i=2;i<=k;i++)
{
if(num%i==0)return0;
}
return1;
}調(diào)用函數(shù)#include<>
#include<>
intmain()
{
intnum;
intsushu(intnum);
scanf("%d",&num);
if(sushu(num)==0)printf("%disn'taprimenumber!",num);
elseprintf("%disaprimenumber!",num);
return0;
}4冒泡排序(升序)思路:N個(gè)數(shù),每次比較相鄰的兩個(gè)數(shù),如果前面的數(shù)大就相互交換,這樣小的數(shù)就會(huì)像氣泡一樣往前冒。一趟排序完成后最后一個(gè)數(shù)最大。共進(jìn)行N-1趟排序。完整程序#include<>
#defineN10
intmain()
{
intnum[N];
inti,j;
intt;
for(i=0;i<N;i++)
scanf("%d",&num[i]);
for(i=0;i<N-1;i++)
for(j=0;j<N-1-i;j++)
if(num[j]>num[j+1])
{t=num[j];num[j]=num[j+1];num[j+1]=t;}
for(i=0;i<N;i++)
printf("%d",num[i]);
return0;
}封裝函數(shù)voidmaopao(intnum[N])
{
inti,j;
intt;
for(i=0;i<N-1;i++)
for(j=0;j<N-1-i;j++)
if(num[j]>num[j+1])
{t=num[j];num[j]=num[j+1];num[j+1]=t;}
}調(diào)用函數(shù)#include<>
#defineN10
intmain()
{
intnum[N];
inti,j;
intt;
voidmaopao(intnum[N]);
for(i=0;i<N;i++)
scanf("%d",&num[i]);
maopao(num);
for(i=0;i<N;i++)
printf("%d",num[i]);
return0;
}5選擇排序(升序)思路:N個(gè)數(shù),每次從剩下的數(shù)中選擇最小的數(shù)(記住它的下標(biāo))與這組數(shù)中最前面的數(shù)交換,數(shù)的個(gè)數(shù)依次減少。一趟排序完成后最前面的數(shù)最小。共進(jìn)行N-1趟排序。完整程序#include<>
#defineN10
intmain()
{
intnum[N];
inti,j,k;
intt;
for(i=0;i<N;i++)
scanf("%d",&num[i]);
for(i=0;i<N-1;i++)
{
k=i;
for(j=i+1;j<N;j++)
if(num[k]>num[j])k=j;
if(k!=i){t=num[k];num[k]=num[i];num[i]=t;}
}
for(i=0;i<N;i++)
printf("%d",num[i]);
return0;
}封裝函數(shù)voidxuanze(intnum[N])
{
inti,j,k;
intt;
for(i=0;i<N-1;i++)
{
k=i;
for(j=i+1;j<N;j++)
if(num[k]>num[j])k=j;
if(k!=i){t=num[k];num[k]=num[i];num[i]=t;}
}
}調(diào)用函數(shù)#include<>
#defineN10
intmain()
{
intnum[N];
inti,j,k;
intt;
voidxuanze(intnum[N]);
for(i=0;i<N;i++)
scanf("%d",&num[i]);
xuanze(num);
for(i=0;i<N;i++)
printf("%d",num[i]);
return0;
}6折半查找(升序)思路:N個(gè)按照從小到大排列好順序的數(shù),再?gòu)闹袑ふ乙粋€(gè)數(shù),不是依次掃描每個(gè)數(shù),而是先把這組數(shù)的中間元素拿出來與所找的數(shù)比較,如果中間數(shù)小于所找的數(shù),則在這組數(shù)的后半段尋找;如果中間數(shù)大于所找的數(shù),則在這組數(shù)的前半段尋找。找到了,輸出這個(gè)數(shù)的下標(biāo),如果找不到,輸出Notfound!。完整程序#include<>
#defineN10
intmain()
{
inta[N],low=0,high=N-1,mid,i,key,flag=0;
for(i=0;i<N;i++)
scanf("%d",&a[i]);
scanf("%d",&key);
while(low<=high)
{
mid=(low+high)/2;
if(a[mid]==key)
{
printf("Found!Theindexif%d",mid);
flag=1;
break;
}
elseif(a[mid]>key)high=mid-1;
elselow=mid+1;
}
if(!flag)printf("Notfound!");
return0;
}封裝函數(shù)intzheban(inta[N],key)
{
intlow=0,high=N-1,mid;
while(low<=high)
{
mid=(low+high)/2;
if(a[mid]==key)
{
printf("Found!Theindexif%d",mid);
returnmid;
}
elseif(a[mid]>key)high=mid-1;
elselow=mid+1;
}
printf("Notfound!");
return-1;
}調(diào)用函數(shù)#include<>
#defineN10
intmain()
{
inta[N],low=0,high=N-1,mid,i,key,flag=0;
intzheban(inta[N],key);
for(i=0;i<N;i++)
scanf("%d",&a[i]);
scanf("%d",&key);
zheban(a,key);
return0;
}7找最大數(shù)(1)兩個(gè)數(shù)找最大思路:比較兩個(gè)數(shù),輸出較大者。完整程序#include<>
intmain()
{
intx,y,z;
scanf("%d,%d",&x,&y);
z=x>yx:y;
printf("%d",z);
return0;
}封裝函數(shù)intmax(intx,inty)
{
intz;
z=x>yx:y;
returnz;
}調(diào)用函數(shù)#include<>
intmain()
{
intx,y,z;
intmax(intx,inty);
scanf("%d,%d",&x,&y);
printf("%d",max(x,y));
return0;
}(2)數(shù)組中找最大①一維數(shù)組思路:讓一個(gè)變量等于數(shù)組中第一個(gè)元素,從第二數(shù)開始依次進(jìn)行比較,碰到更大的數(shù)則更改變量的值,直到全部比較完畢。完整程序#include<>
#defineN10
intmain()
{
intnum[N];
inti,max;
for(i=0;i<N;i++)
scanf("%d",&num[i]);
max=num[0];
for(i=1;i<N;i++)
if(max<num[i])max=num[i];
printf("%d",&max);
return0;
}封裝函數(shù)intmax(intnum[N])
{
intmax=num[0];
inti;
for(i=1;i<N;i++)
if(max<num[i])max=num[i];
returnmax;
}調(diào)用函數(shù)#include<>
#defineN10
intmain()
{
intnum[N];
inti;
intmax(intnum[N]);
for(i=0;i<N;i++)
scanf("%d",&num[i]);
printf("%d",max(num));
return0;
}②二維數(shù)組思路:讓一個(gè)變量等于數(shù)組中第一個(gè)元素,從第一個(gè)數(shù)開始依次進(jìn)行比較,碰到更大的數(shù)則更改變量的值,直到全部比較完畢。完整程序#include<>
#defineN10
#defineM5
intmain()
{
intnum[N][M];
inti,j;
intmax;
for(i=0;i<N;i++)
for(j=0;j<M;j++)
scanf("%d",&num[i][j]);
max=num[0][0];
for(i=0;i<N;i++)
for(j=0;j<M;j++)
if(max<num[i])max=num[i];
printf("%d",max);
return0;
}封裝函數(shù)intmax(intnum[N][M])
{
intmax=num[0][0];
inti,j;
for(i=0;i<N;i++)
for(j=0;j<M;j++)
if(max<num[i])max=num[i];
returnmax;
}調(diào)用函數(shù)#include<>
#defineN10
#defineM5
intmain()
{
intnum[N][M];
inti,j;
intmax(intnum[N][M]);
for(i=0;i<N;i++)
for(j=0;j<M;j++)
scanf("%d",&num[i][j]);
printf("%d",max(num));
return0;
}8數(shù)組的行列轉(zhuǎn)置思路:交換對(duì)應(yīng)行列和列行的元素,注意只交換一半即可,否則相當(dāng)于沒有交換。完整程序#include<>
#defineN5
intmain()
{
inta[N][N];
inti,j,t;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
scanf("%d",&a[i][j]);
for(i=0;i<N;i++)
for(j=i+1;j<N;j++)
{
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%d",a[i][j]);
printf("\n");
}
return0;
}封裝函數(shù)voidzhuanzhi(inta[][N])
{
inti,j,t;
for(i=0;i<N;i++)
for(j=i+1;j<N;j++)
{
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}調(diào)用函數(shù)#include<>
#defineN5
intmain()
{
inta[N][N];
inti,j;
voidzhuanzhi(inta[][N]);
for(i=0;i<N;i++)
for(j=0;j<N;j++)
scanf("%d",&a[i][j]);
zhuanzhi(a);
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%d",a[i][j]);
printf("\n");
}
retu
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 林木種植與林業(yè)管理作業(yè)指導(dǎo)書
- 大型鉆機(jī)租賃合同
- 大廈物業(yè)租賃合同
- 小學(xué)二年級(jí)數(shù)學(xué)上冊(cè)口算題卡
- 班主任教師個(gè)人年度工作總結(jié)
- 大一上學(xué)期期末自我總結(jié)
- 酒店銷售個(gè)人工作計(jì)劃
- 濟(jì)源職業(yè)技術(shù)學(xué)院《生物制劑工藝》2023-2024學(xué)年第二學(xué)期期末試卷
- 打深水井工程合同范本
- 商業(yè)秘密保密協(xié)議書范本
- 2025年寬帶研究分析報(bào)告
- 建筑與市政工程第三方質(zhì)量安全巡查方案
- 成品移動(dòng)公廁施工方案
- 二零二五版財(cái)務(wù)顧問保密與工作內(nèi)容協(xié)議3篇
- 牧場(chǎng)物語-礦石鎮(zhèn)的伙伴們-完全攻略
- 供電公司一把手講安全
- 2022年三級(jí)安全教育塔吊司機(jī)類試題及答案
- 地鐵工程結(jié)算審核的難點(diǎn)及要點(diǎn)分析
- 低壓開關(guān)柜基礎(chǔ)知識(shí)和IP防護(hù)等級(jí)具體要求
- 自主招生培訓(xùn)物理講義
- iso13485-《醫(yī)療器械質(zhì)量管理體系-用于法規(guī)的要求》
評(píng)論
0/150
提交評(píng)論