0分。。。自己調(diào)吧。

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供遼中網(wǎng)站建設(shè)、遼中做網(wǎng)站、遼中網(wǎng)站設(shè)計(jì)、遼中網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、遼中企業(yè)網(wǎng)站模板建站服務(wù),十余年遼中做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
#include stdio.h
int IsPrime(unsigned int n){
unsigned int i;
for(i=2;in;i++){//對(duì)大于1小于n的數(shù)進(jìn)行循環(huán)
if(n%i == 0){//如果期間有能整除的數(shù),直接返回0
return 0;
}
}
return 1;//返回1
}
int IsMPrime(unsigned int n){
if(IsPrime(n) ==0){//如果此數(shù)本身不是素?cái)?shù)直接返回0
return 0;
}
unsigned int p;
unsigned int x;
p=0;
x=n+1;
wihle(x !=1){//求出比x大且與x最近的2的p次方中的p
x=x1;
p++;
}
if(pow(2,p) != n+1){//如果此數(shù)+1不是2的p次方,則直接返回0
return 0;
}
return IsPrime(p);//判斷p是否為素?cái)?shù),返回判斷值
}
int main(){
unsigned int m;
scanf("%d”,m);
if(m 1000){//為了防止輸入的數(shù)太大導(dǎo)致機(jī)器死掉,限定輸入的數(shù)小于1000。
return 0;
}
for(;m0;m--){//對(duì)大于0,小于輸入數(shù)的整數(shù)挨個(gè)進(jìn)行判斷
if(IsMPrime(m) ==1){//如果是梅森素?cái)?shù)直接打印
printf("%d,",m);
}
}
return 0;//結(jié)束程序
}
倒數(shù)第二個(gè)參數(shù)很容易理解吧,就是告訴你調(diào)用該函數(shù)后實(shí)際向文件中寫(xiě)了多少字節(jié),這個(gè)值和你指定的要寫(xiě)入多少字節(jié)不一定相等,因?yàn)槿绻鲥e(cuò)或者執(zhí)行異步寫(xiě)操作的話,這個(gè)值不會(huì)等于你指定的要寫(xiě)入的字節(jié)數(shù)。你要做的就是傳遞一個(gè)dword變量地址,函數(shù)會(huì)將實(shí)際寫(xiě)入的字節(jié)數(shù)設(shè)為該變量的值,調(diào)用結(jié)束后,檢查該變量的值即可知道實(shí)際寫(xiě)入了多少字節(jié)。
最后一個(gè)參數(shù)是一個(gè)overlaapped結(jié)構(gòu)體指針,它指出,如果你在打開(kāi)文件(調(diào)用createfile或socket創(chuàng)建函數(shù)等)時(shí)
打開(kāi)方式指定了file_flag_overlapped標(biāo)記,那么你需要傳遞一個(gè)overlaapped結(jié)構(gòu)體的地址,如果沒(méi)有指定該標(biāo)記,則傳遞null即可,一般直接傳遞null,只有在需要異步操作時(shí),才需要指定。
可以寫(xiě)出一個(gè)常規(guī)調(diào)用:
handle
hfile=createfile(……);
tchar
buf[255];//定義一個(gè)buf用于提供寫(xiě)入到文件的數(shù)據(jù)//調(diào)用一些函數(shù)填充buf,此處省略,也可以是一個(gè)外部buf,里面有內(nèi)容就不用填充了。
dword
bytestowrite=255;
dword
byteswritten=0;
if(!writefile(hfile,buf,bytestowrite,byteswritten,null))
{
//……調(diào)用失敗
}
在C語(yǔ)言中主函數(shù)調(diào)用子函數(shù),子函數(shù)被主函數(shù)調(diào)用,這就是它們之間的聯(lián)系。編寫(xiě)函數(shù)主要有以下步驟,首先對(duì)函數(shù)進(jìn)行定義,語(yǔ)法格式為:
類型說(shuō)明符? 函數(shù)名 (含類型說(shuō)明的形式參數(shù)表)
{
語(yǔ)句序列
}
形式參數(shù)的作用是實(shí)現(xiàn)主函數(shù)和被調(diào)函數(shù)之間的聯(lián)系。通常將函數(shù)所處理的數(shù)據(jù)、影響函數(shù)功能的因素或函數(shù)處理的結(jié)果作為形參。
然后還要確定函數(shù)的返回值及類型,格式為:
return? ?表達(dá)式;
這個(gè)語(yǔ)句的另一個(gè)作用是結(jié)束當(dāng)前函數(shù)的執(zhí)行。一個(gè)函數(shù)可以不將任何值返回主函數(shù),此時(shí)它的類型標(biāo)識(shí)符為void,可以不寫(xiě)return語(yǔ)句,也可以寫(xiě)一個(gè)不帶表達(dá)式的return;語(yǔ)句。
擴(kuò)展資料
C語(yǔ)言編程書(shū)寫(xiě)規(guī)則:
1、一個(gè)說(shuō)明或一個(gè)語(yǔ)句占一行。
2、用{} 括起來(lái)的部分,通常表示了程序的某一層次結(jié)構(gòu)。{}一般與該結(jié)構(gòu)語(yǔ)句的第一個(gè)字母對(duì)齊,并單獨(dú)占一行。
3、低一層次的語(yǔ)句或說(shuō)明可比高一層次的語(yǔ)句或說(shuō)明縮進(jìn)若干格后書(shū)寫(xiě)。以便看起來(lái)更加清晰,增加程序的可讀性。在編程時(shí)應(yīng)力求遵循這些規(guī)則,以養(yǎng)成良好的編程風(fēng)格。
參考資料來(lái)源:《C++語(yǔ)言程序設(shè)計(jì)(第4版)》鄭莉? 董源 何江舟 編著? 清華大學(xué)出版社
第三章 函數(shù)? 3.1 函數(shù)的定義與使用
參考資料來(lái)源:百度百科--c語(yǔ)言
如果有不清楚在再追問(wèn)我。
#include stdio.h
int input(void);
int main(void)
{
int price;
price=input(); /*接收子函數(shù)的返回值*/
printf("總價(jià)是:%d",price);
return 0;
}
int input(void)
{
int price1;
printf("請(qǐng)輸入價(jià)格:");
scanf("%d",price1); /*讀取數(shù)據(jù)*/ return price1; /*將數(shù)據(jù)返回給主函數(shù)*/
}
分享標(biāo)題:c語(yǔ)言子函數(shù)的建立,c語(yǔ)言提供了定義函數(shù)和子程序的功能
URL鏈接:http://chinadenli.net/article37/dseggpj.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、定制網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、用戶體驗(yàn)、全網(wǎng)營(yíng)銷推廣、網(wǎng)站策劃
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)