C語言程序如下:
為貴陽等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及貴陽網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為網(wǎng)站建設、成都網(wǎng)站設計、貴陽網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
#include "stdio.h"
int main()
{
int n,i,sum=0;//定義一個存放因子和的變量,以及需要判斷的數(shù)n,和循環(huán)條件用到的i
printf("請輸入需要判斷的數(shù):");
scanf("%d",n);//存放需要判斷的數(shù)n
for(i=1;in;i++)//循環(huán)條件找出因子并累加
{
if(n%i==0)
sum+=i;
}
if(n==sum)
printf("%d 是完數(shù)\n",n);
else
printf("%d 不是完數(shù)\n",n);
return 0;
}
擴展資料:
程序思路
假設一個數(shù)為n,我們可以用循環(huán)條件,讓n分別和1,2,3,4,5……n-1進行判斷是否能被整除,我們可以通過取余(%)的方法來進行判斷。如果判斷出來取余結(jié)果為0,那么就把這些因子全部加起來,得到因子的和。
接下來,將因子的和與n進行比較,如果相等,那么就是完數(shù),反之不是完數(shù)。
判斷一個完數(shù),就是運用基本輸入函數(shù)(scanf),將要判斷的數(shù)據(jù)輸入進來,之后運用循環(huán)條件來判斷。
1、打開c語言編輯器,新建一個C語言空白文件:
2、然后就可以開始編寫代碼了,這里完數(shù)的意思就是一個數(shù)等于它的因子之和,比如6的因子為1、2、3,而6剛好是這些數(shù)之和。根據(jù)完數(shù)的定義,程序要輸入一個數(shù)的范圍,接著計算出所選取的整數(shù)i的因子,將各因子累加到變量s ,若s等于i,則可確認i為完數(shù):
3、最后運行查詢,輸入一個范圍,程序就會自動查找這個范圍內(nèi)的數(shù)字里有那些完數(shù),計算完成后會將其結(jié)果打印出來:
#includestdio.h
void
iswanshu(int
x);
void
main()
{
int
a;
printf("判斷是否是完數(shù):\n請輸入一個整數(shù):");
scanf("%d",a);
iswanshu(a);//調(diào)用下面的函數(shù)
}
//定義一個判斷是否是完數(shù)的函數(shù)
void
iswanshu(int
x)
{
int
i,k;
for(i=1;ix;i++)
{
if
(x%i=0)
k=k+i;//如果被判斷的那個數(shù)整除i余數(shù)為0則累加到k
}
//如果k等于x那輸出的數(shù)就是完數(shù)
if(k=x)
{
printf("%d是完數(shù)\n",x);
printf("%d=1",x);
for(i=2;ix;i++)
{
if
(x%i=0)
printf("+%d",i);
}
printf("\n");
}
else
printf("%d不是完數(shù)!",x);
}
#includestdio.h
int?IsPerfect(int?n)
{int?i,s=1;
for(i=2;i=n/2;i++)
if(n%i==0)s+=i;
return?s==n;??
}
int?main()
{int?n;
scanf("%d",n);
printf("%d?is?%sa?perfect?number\n",n,IsPerfect(n)?"":"not?");
return?0;
}
標題名稱:c語言函數(shù)怎么判斷是完數(shù) 判斷是否是完數(shù)c語言程序
網(wǎng)站路徑:http://muchs.cn/article12/docccgc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護、做網(wǎng)站、網(wǎng)站營銷、網(wǎng)站設計、響應式網(wǎng)站、網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)