一道初学者C语言 题目

2024-06-21 04:18:03
有5个网友回答
网友(1):

#include
#define NUM 100
int perfectNumber(int x){
int i,sum=0;
for(i=1;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
int wanshu(int x){
int i,sum=0;
for(i=1;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);
}
这下应该懂了吧

网友(2):

这是个算法的问题,代码部分很简单~~~~还是找找它的算法吧,学习嘛~~~~~~~

网友(3):

百度搜索!

网友(4):

第一个for不是分数最大的,而镇锋毕是哪个分数出现次数最多。先找出了御芹次数最多的,第二个for说出位置。但程序编的基信比较笨,只用一个for就行了。
#include

#include

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;
}

网友(5):

#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;iprintf("%d",a[i]);
}
}
}