大概看了一下,你判斷是否為因子的地方有問(wèn)題,應(yīng)該用取余運(yùn)算符號(hào):%
成都創(chuàng)新互聯(lián)公司提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì),成都品牌網(wǎng)站建設(shè),廣告投放等致力于企業(yè)網(wǎng)站建設(shè)與公司網(wǎng)站制作,十年的網(wǎng)站開(kāi)發(fā)和建站經(jīng)驗(yàn),助力企業(yè)信息化建設(shè),成功案例突破1000+,是您實(shí)現(xiàn)網(wǎng)站建設(shè)的好選擇.
用除號(hào)是不行的,呵呵。
另外,你把求一個(gè)數(shù)的因子和,寫(xiě)成一個(gè)函數(shù),這樣的話(huà),程序看起來(lái)更明了,你也不容易混亂。
求因子和的函數(shù)如下:
int?sumf(int?num)
{
int?i,sum?=?0;
for(i?=?1;i?=?num;?i?++)
{
if(num?%?i?==?0)
{
sum?+=?i;?
}???
}
return?sum;
}
不過(guò)你所說(shuō)的因子是否包含了1和數(shù)本身?如果包含的話(huà),我運(yùn)行了一下,2到1000好像沒(méi)發(fā)現(xiàn)有滿(mǎn)足條件的。
如果不包含1和本身,倒是有幾個(gè),全程序是這樣:
#include?stdio.h
#include?stdlib.h
int?main(void)
{???int?i;?
for(i?=?2;?i??1000;?i++)
{??????
//printf("%d--%d--%d\n",i,sumf(i),sumf(sumf(i)));
if(i?==?sumf(sumf(i)))
{
printf("%d????%d\n",i,sumf(i));
}????
}?
system("pause");
return?0;
}
int?sumf(int?num)
{
int?i,sum?=?0;
for(i?=?2;i??num;?i?++)
{
if(num?%?i?==?0)
{
sum?+=?i;?
}???
}
return?sum;
}
#includestdio.h
int main()
{
int a,b,n;
int facsum(int n,int *a,int *b);
printf("There are following friendly--numbers pair smaller than 500:\n");
for(a=1;a500;a++) /*窮舉500以?xún)?nèi)的全部整數(shù)*/
{
n=facsum(n,a,b);
if(n==aa=b)
printf("%4dand%d\n",a,b); /*若n=a,則a和b是一對(duì)親密數(shù),輸出*/
}
}
int facsum(int n,int *a,int *b)
{
int i;
for(*b=0,i=1;i=*a/2;i++) /*計(jì)算數(shù)a的各因子,各因子之和存放于b*/
if(!(*a%i))
*b+=i; /*計(jì)算b的各因子,各因子之和存于n*/
for(n=0,i=1;i=*b/2;i++)
if(!(*b%i))
n+=i;
return n;
}
呵呵,樓主,你還是多看看函數(shù)的用法吧,先理清邏輯。
#include
stdio.h
#include
conio.h
int
facsum(int
n)
{
int
sum=0;
for
(int
i=1;in;i++)
{
if(n%i==0)
sum+=i;
}
return
sum;
}
main()
{
for
(int
i=1;i=500;i++)
{
int
M1=facsum(i);
if
(facsum(M1)==ii=M1)
{
printf("%d和%d互為親密數(shù)\n",i,M1);
}
}
}
可以嗎?輸出要有文字說(shuō)明,你可以自己改printf("%d和%d互為親密數(shù)\n",i,M1);這句話(huà)就行了。
當(dāng)前標(biāo)題:c語(yǔ)言函數(shù)編程親密數(shù)問(wèn)題 C語(yǔ)言函數(shù)問(wèn)題
瀏覽路徑:http://chinadenli.net/article10/hpeido.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、標(biāo)簽優(yōu)化、網(wǎng)站策劃、App設(shè)計(jì)、網(wǎng)站改版、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)