一道初学者C语言 题目

一个数如果恰好等于它的所有因子之和,这个数就称为“完数”。请编写一个判别m是否为完数的函数,并编写主函数,通过调用此函数统计自然数1~100完数的个数。谁能弄个初学者能看... 一个数如果恰好等于它的所有因子之和,这个数就称为“完数”。请编写一个判别m是否为完数的函数,并编写主函数,通过调用此函数统计自然数1~100完数的个数。
谁能弄个初学者能看得懂的..3楼的我看不懂 哦.....再简单一点我应该懂了
展开
 我来答
驀然回首時
2009-11-13 · TA获得超过515个赞
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:171万
展开全部
#include<stdio.h>
#define NUM 100
int perfectNumber(int x){
int i,sum=0;
for(i=1;i<x;i++){
if(x%i==0) sum+=i;
}
if(x==sum) return x;
else return 0;
}
void main(){
int n,num;
printf("Perfect Numbers no more than %d:",NUM);
for(n=1;n<=NUM;n++)
if(perfectNumber(n)!=0) printf("%4d",n);
printf("\nInput an Integer:");
scanf("%d",&num);
if(perfectNumber(num)!=0) printf("%d is a Perfect Number!\n",num);
else printf("%d is not a Perfect Number!\n",num);
}

简单版:
#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);
}
这下应该懂了吧
beret101
2009-11-12 · TA获得超过106个赞
知道答主
回答量:52
采纳率:0%
帮助的人:40.8万
展开全部
这是个算法的问题,代码部分很简单~~~~还是找找它的算法吧,学习嘛~~~~~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
真的没啥事
2009-11-12 · TA获得超过1079个赞
知道小有建树答主
回答量:2033
采纳率:0%
帮助的人:961万
展开全部
百度搜索!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
前含合白萱
2019-10-18 · TA获得超过3832个赞
知道大有可为答主
回答量:3138
采纳率:28%
帮助的人:154万
展开全部
第一个for不是分数最大的,而是哪个分数出现次数最多。先找出了次数最多的,第二个for说出位置。但程序编的比较笨,只用一个for就行了。
#include
<stdio.h>
#include
<string.h>
int
main()
{
int
i,j=0,a[101],n,max;
memset(a,sizeof(a),0);
while(scanf("%d",&n)==1)
{
a[n]++;
}
max=a[0];
for(i=1;i<101;i++)
{
if(a[i]>=max)
{
max=a[i];
j=i;
}
}
printf("%d
",i);
printf("\n");
return
0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
凤艾完颜听露
2019-06-19 · TA获得超过3862个赞
知道大有可为答主
回答量:3137
采纳率:32%
帮助的人:205万
展开全部
#include<stdio.h>
void
main()
{
long
n,x,m=0,i;
int
a[5];
scanf("%ld",&n);
if(n==0)
printf("%ld\n",n);
if(n>0&&n<100000)
{
while(n!=0){
x=n%10;
a[m]=x;
m++;
n=n/10;
}
printf("它是%ld位数\n",m);
for(i=0;i<m;i++){
printf("%d",a[i]);
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式