#include "stdioh"
int main()
{
int n,i,sum=0;//定义一个存放因子和的变量,以及需要判断的数n,和循环条件用到的i
printf("请输入需要判断的数:");
scanf("%d",&n);//存放需要判断的数n
for(i=1;i<n;i++)//循环条件找出因子并累加
{
if(n%i==0)
sum+=i;
}
if(n==sum)
printf("%d 是完数\n",n);
else
printf("%d 不是完数\n",n);
return 0;
}
扩展资料:
程序思路
假设一个数为n,我们可以用循环条件,让n分别和1,2,3,4,5……n-1进行判断是否能被整除,我们可以通过取余(%)的方法来进行判断。如果判断出来取余结果为0,那么就把这些因子全部加起来,得到因子的和。
接下来,将因子的和与n进行比较,如果相等,那么就是完数,反之不是完数。
判断一个完数,就是运用基本输入函数(scanf),将要判断的数据输入进来,之后运用循环条件来判断。
程序如下,不还我是不太了解,完数的意义
如果按你的解释,那么 1也应该是,但为什么没有所以我也不敢乱改你的程序
只是简单的找出程序的错误希望能帮上你的忙
#include<stdioh>
#include<stdlibh>
main()
{
int i,j;
for(i=1;i<1000;i++)
{
int s=0;
for(j=1;j<i;j++)
{
if(i%j==0)
s=s+j;
}
if(i==s)
printf("%d ",i);
}
getchar();
}
另外,要提醒一句,能少用变量就少用变量这是一个良好的习惯
每一个变量都是要分内存空间的
完全没看懂你是什么意思。是要求出1000以内的 完全数吗?
如果是为了实现这个目的,可以参考下面的程序
#include<stdioh>
void main()
{
int a,b,c;
for(a=2;a<=1000;a++)
{
c=0;
for(b=1;b<a;b++)
{
if(a%b==0)
{
c=c+b;
}
}
if(a==c)
{
printf("its factors is %d\n",a);
}
}
}
用C语言输出1000以内所有的完数步骤如下:
1、首先打开vc60,新建一个项目。
2、添加头文件。
3、添加main函数。
4、定义i,j,k,n,sum。
5、定义一个数组。
6、使用第一层for循环。
7、使用第二层for循环,用来求出每位的数字。
8、使用if条件判断语句。
9、运行程序看看结果。
以上就是关于c语言编程题 :判断一个数是不是完数全部的内容,包括:c语言编程题 :判断一个数是不是完数、C语言程序求完数、c语言:完全数程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)