我知道了~
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比石獅網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式石獅網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋石獅地區(qū)。費(fèi)用合理售后完善,十余年實(shí)體公司更值得信賴。
LZ
你代碼中sum=sum+expt(n);錯(cuò)了
應(yīng)該是sum=sum+expt(i);吧
要是按你這樣寫,當(dāng)n=1是sum=expt(1)+expt(1)=3+3=6
所以沒有你預(yù)期的結(jié)果
先說個(gè)題外話,您認(rèn)為k=add(i,j)比k=i+j簡單嗎? 回到正題,問題出在scanf,改成scanf("%d%d", i, j);就可以了。如果不改,那么你輸入就應(yīng)該這樣(例如):3,5。輸出結(jié)果:8。也就是說,你必須在輸入時(shí)輸入兩個(gè)數(shù),并且以“,”隔開。還有個(gè)問題,你的getchar不會(huì)使程序暫停,因?yàn)檩斎腙?duì)列中的“\"傳入了getchar,你可以再加一個(gè)getchar,或者先清空輸入隊(duì)列,用scanf輸入函數(shù)使之停頓。也可以,或者改用system("pause")暫停程序。
#includestdio.h
int sum(int n)
{
int i=0,s=0;
while(i=n)
{
? s=s+i;
? i++;
}
return s;
}
int main()
{
int n;
printf("請(qǐng)輸入要累積的數(shù):");
scanf("%d",n);
sum(n);
printf("累加的結(jié)果為%d",sum(n));
return 0;
}
擴(kuò)展資料:
使用函數(shù)的優(yōu)勢(shì):
C語言程序鼓勵(lì)和提倡人們把一個(gè)大問題劃分成一個(gè)個(gè)子問題,對(duì)應(yīng)于解決一個(gè)子問題編制一個(gè)函數(shù),因此,C語言程序一般是由大量的小函數(shù)而不是由少量大函數(shù)構(gòu)成的,即所謂“小函數(shù)構(gòu)成大程序”。
這樣的好處是讓各部分相互充分獨(dú)立,并且任務(wù)單一。因而這些充分獨(dú)立的小模塊也可以作為一種固定規(guī)格的小“構(gòu)件”, 用來構(gòu)成新的大程序。
參考資料來源:百度百科-C語言
int qiuhe(int *arry) //求和函數(shù) 和最大不能超過int,如果需要不受限制,則要改進(jìn)存儲(chǔ)方式
{
int sum=0;
for(;*arry!='\0';arry++){
sum+=*arry;
}
return sum;
}