重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
#include?stdio.h
創(chuàng)新互聯(lián)是專業(yè)的雞東網(wǎng)站建設(shè)公司,雞東接單;提供成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、外貿(mào)營(yíng)銷網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行雞東網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
//選擇排序算法,升序
void?sort(int?*arr,int?n)
{
int?i,j,k;
int?tmp;
for(i=0;in-1;i++)
{
k=i;??//開始一趟選擇排序,假定第i個(gè)元素是后面n-i+1個(gè)未排序的元素中最小的元素
for(j=i+1;jn;j++)
{
if(arr[k]??arr[j])?//如果發(fā)現(xiàn)比當(dāng)前最小元素還小的元素,則更新記錄最小元素的下標(biāo)k
k=j;
}
//如果最小元素的下標(biāo)不是后面n-i+1的未排序序列的第一個(gè)元素,則需要交換第i個(gè)元素和后面找到的最小元素的位置
if(k?!=?i)
{
tmp=arr[k];
arr[k]=arr[i];
arr[i]=tmp;
}
}
}
int?main()
{
int?a[10]={?-5,-9,-8,3,9,2,-28,101,-395,0};
int?i;
sort(a,10);
for(i=0;i10;i++)
printf("%d?",a[i]);
printf("\n");
return?0;
}
//運(yùn)行結(jié)果
F:\c_worka.exe
-395?-28?-9?-8?-5?0?2?3?9?101
1 根據(jù)功能,想一個(gè)函數(shù)名,并設(shè)計(jì)好返回值類型以及參數(shù)列表。參數(shù)列表包括參數(shù)個(gè)數(shù),每個(gè)參數(shù)類型,以及該參數(shù)的作用。
2 根據(jù)函數(shù)要實(shí)現(xiàn)的功能,實(shí)現(xiàn)函數(shù)的主體代碼。
3 按照你設(shè)計(jì)的想法,傳入不同參數(shù)類型,驗(yàn)證函數(shù)功能并調(diào)試。
這樣:
#define pi 3.1415926
#include stdio.h
int main()
{
float r,area,perimeter;
printf("請(qǐng)你輸入圓的半徑r:\n");
scanf("%f",r);
area=pi*r*r;
perimeter=pi*r*2;
printf("直徑為:%0.02f\n圓的面積為:%0.03f\n周長(zhǎng)為:%0.02f",2*r,area,perimeter);
return 0;
}
擴(kuò)展資料:
注意事項(xiàng)
1、常量是指在運(yùn)行過(guò)程中,其值不改變的量。
2、#define我們稱為宏定義,在編譯前替換,也稱為預(yù)編譯。
3、宏定義,規(guī)范上用大寫字母表示。
4、float為單精度浮點(diǎn)型,占用4字節(jié),其表示范圍為10^-37到10^38。
5、需要更長(zhǎng)的數(shù)據(jù)表達(dá)范圍和精度,還可使用雙精度浮點(diǎn)型double,占用8字節(jié),其表示范圍為10^-307到10^308
可以的
1. 做成庫(kù)的優(yōu)點(diǎn):
a) 能夠被多個(gè)程序共用,減少計(jì)算機(jī)空間
b)能夠隱藏sum.c的代碼,讓別人編寫main.c
缺點(diǎn):
a) 需要鏈接編譯,有時(shí)候不容易解決鏈接發(fā)生的問(wèn)題
b) sum函數(shù)的接口方式公開,容易被非法程序調(diào)用
2. include sum.c
這種做法相當(dāng)于寫一個(gè)單獨(dú)的my.c把所有sum.c和main.c的程序?qū)懺谝黄?/p>
優(yōu)點(diǎn):
a) 沒(méi)什么優(yōu)點(diǎn)吧?要說(shuō)就一個(gè),少寫頭文件, 沒(méi)有更新后編譯順序的依賴問(wèn)題
缺點(diǎn):
a) 管理麻煩,萬(wàn)一被多個(gè)程序 include sum.c發(fā)生編譯通不過(guò)
b) 非主流用法,不易于理解。
3. include .h 放在一起編譯
優(yōu)點(diǎn)和缺點(diǎn)正好和第一個(gè)相反。
而且優(yōu)點(diǎn):
a) 主流用法,思路清晰,便于理解
缺點(diǎn):
a) 文件多了,發(fā)生重復(fù)引用問(wèn)題要解決
b) 文件多了.h,更新編譯的依賴性要通過(guò)make文件主動(dòng)解決
自定義函數(shù)是由用戶按需要寫的函數(shù)。這與庫(kù)函數(shù)相對(duì)應(yīng)的,庫(kù)函數(shù)是由c系統(tǒng)提供的函數(shù),已經(jīng)定義好了如printf
、
scanf
、
getchar
、putchar、gets、puts、strcat等函數(shù)均屬此類。
說(shuō)白了,自定義函數(shù)是是自己寫的,想實(shí)現(xiàn)什么功能就寫什么,然后在用的時(shí)候和庫(kù)函數(shù)(系統(tǒng)定義的)的一樣調(diào)用就是了,相當(dāng)于自己增加了一個(gè)自己的庫(kù)函數(shù)。