初学者的C语言题目
一个数如果恰好等于它的所有因子之和,这个数就称为“完数”。请编写一个判别m是否为完数的函数,并编写主函数,通过调用此函数统计自然数1~100完数的个数。谁能编个简单点的,...
一个数如果恰好等于它的所有因子之和,这个数就称为“完数”。请编写一个判别m是否为完数的函数,并编写主函数,通过调用此函数统计自然数1~100完数的个数。
谁能编个简单点的,初学者能看懂的.. 展开
谁能编个简单点的,初学者能看懂的.. 展开
3个回答
展开全部
//完数是指一个数恰好等于它的因子之和,如6=1+2+3
#include<stdio.h>
#include<conio.h>
int count(int a,int b);//函数声明
int main()
{
int a,b,t;
printf("输入统计范围:\n请输入起始值:");
scanf("%d",&a);
printf("请输入终止值:");
scanf("%d",&b);
t = count(a,b);//执行该函数,统计出个数,并返回给变量t
printf("在区间[%d,%d]之间,完数个数为:",a,b);
printf("%d",t);//输出
getch();
return 0;
}
int count(int a,int b)
{
int i,j,sum,k=0;
for(i=a;i<=b;i++)//在区间[a,b]中检验每个数是否完数
{
sum=0;
for(j=1;j<i;j++)
{
if((i%j)==0)sum+=j;//因子求和
}
if(i==sum)//如果是完数,计数器加1,
{
k++;//计数器k用来记录完数的个数
// printf("%d\n",i);//如需要输出该完数可去掉前面的注释符号//,
}
}
return k;
}
#include<stdio.h>
#include<conio.h>
int count(int a,int b);//函数声明
int main()
{
int a,b,t;
printf("输入统计范围:\n请输入起始值:");
scanf("%d",&a);
printf("请输入终止值:");
scanf("%d",&b);
t = count(a,b);//执行该函数,统计出个数,并返回给变量t
printf("在区间[%d,%d]之间,完数个数为:",a,b);
printf("%d",t);//输出
getch();
return 0;
}
int count(int a,int b)
{
int i,j,sum,k=0;
for(i=a;i<=b;i++)//在区间[a,b]中检验每个数是否完数
{
sum=0;
for(j=1;j<i;j++)
{
if((i%j)==0)sum+=j;//因子求和
}
if(i==sum)//如果是完数,计数器加1,
{
k++;//计数器k用来记录完数的个数
// printf("%d\n",i);//如需要输出该完数可去掉前面的注释符号//,
}
}
return k;
}
展开全部
#include<stdio.h>
int wanshu(int x){
int i,sum=0;
for(i=1;i<x;i++){
if(x%i==0) sum=sum+i;
}
if(x==sum) return 1;
else return 0;
}
void main(){
int n,num;
printf("不超过100的完数有:");
for(n=1;n<=100;n++)
if(wanshu(n)==1) printf(" %d",n);
}
int wanshu(int x){
int i,sum=0;
for(i=1;i<x;i++){
if(x%i==0) sum=sum+i;
}
if(x==sum) return 1;
else return 0;
}
void main(){
int n,num;
printf("不超过100的完数有:");
for(n=1;n<=100;n++)
if(wanshu(n)==1) printf(" %d",n);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你去找“C程序100例”吧。那里有。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询