C语言,编写程序,判断一个正整数a是否为完数,如果是完数,函数返回值为1;否则为0;并输出1000

供稿:hz-xin.com     日期:2025-01-13
编写一个函数,判断一个整数是否是完数,如果是完数,函数返回;不是完数1,函数返回0

以下代码,在VC6.0下编译测试通过
#include
using namespace std;
bool Check(int i);//是完数返回true,否则返回false
int main()
{
int n=1000;
int r=0,j,i;
//查找1000以内所有完数
for(i=1;i<=n;i++)
{
if (Check(i)==true)
{
cout<<i<<endl;
}
}

return 0;
}

bool Check(int i)
{
int r=0,j;
for(j=1;j<i;j++)
{
if(i%j==0)
{
r=r+j;
}
}
if(r==i)
{
return true;
}
else
{
return false;
}
}

1、首先打开C语言的编辑软件,这里是使用VS2017版,在c语言的文件中写入头文件和主函数备用:

2、首先是用scanf函数定义一个输入数字的功能,然后判断完数,通过取余(%)的方法来进行判断。如果判断出来取余结果为0,那么就把这些因子全部加起来,得到因子的和和与n进行比较,如果相等,那么就是完数,反之不是完数;最后需要输出结果:

3、最后使用快捷键crtl+F5编译调试一下程序,打开的命令行输入一个数字,按下回车后屏幕上就会显示该数是否为完数了。以上用C语言判断完数的操作:

#include <stdio.h>
int func(int n)
{
    int i,sum;
    for(i=1,sum=0;i<n;++i)
        if(n%i==0)
            sum+=i;
    return sum==n;
}
int main()
{
    int i;
    for(i=1;i<1000;++i)
        if(func(i))
            printf("%d
",i);
    return 0;
}



#include <stdio.h>
int isPerfect (int n) {
  int result = 0;
  for(int j = 1; j < n; ++j) {
    if( n % j == 0)
      result += j;
    if(result > n) return 0;
  }
  
  if(result == n) return 1;
  return 0;
}

int main()
{
  printf("请输入一个数: ");
  int m;
  scanf("%d", &m);
  if(isPerfect(m)) 
    printf("%d 是完数
", m);
  else
    printf("%d 不是完数
", m);
  return 0;
}


这个程序我好象写过了,你自己找找,应该有

求教C语言,从键盘输入一个整型数据(int型),编写程序判断该整数共有几...
num=n; do{ n=abs(n); switch(n%10) { case 0:a++;break; case 1:b++;break; case 2:c++;break; case 3:d++;break; case 4:e++;break; case 5:f++;break;

编程序判断一个正整数能否同时被3和7整除,若是则输出yes,否则输出no
用C语言 void main(){int i;scanf("%d",&i);if (i%3==0&&i%7==0) printf("yes");else printf("no");} 或 include<stdio.h> int main(){ int a;scanf("%d",&a);if(a%3==0&&a%7==0) printf("yes\\n");else printf("no\\n");return 0;} ...

C语言 判断正整数的位数
include int che(int n){ int r=0;while (n){ printf("%d",n%10);r++;n\/=10;} putchar(32);return r;} int main(void){ int n;while (scanf("%d",&n)!=EOF)\/*输入CTRL+Z结束循环过程,退出程序*\/ { printf("%d\\n",che(n));} return 0;} \/\/---憨郸封肝莩菲凤十脯...

怎样编写c语言程序输出一个整数?
2、因为题目要求我们先输入一个整数,所以在定义变量时,就应该将其定义为整数型,注意,在输入,输出函数中,整数型对应的是“%d”。3、接下来就要对输入的整数进行判断,在C语言中,if是判断语句,所以用它来对整数进行判断。if(a%2==0)是计算机认可的判断代码。4、因为需要进行结果的输出,不单...

如何用C语言判断一个正整数是否为回文数,若是输出yes,若不是,输出no
include <stdio.h> int main(){ int a,b,t;scanf("%d",&a);for(b=0,t=a;t;t\/=10)b=b*10+t%10;puts(a==b?"yes":"no");return 0;}

用C语言编写程序,输入一个正整数,判断是否为回文数。
main(){ int n,a,b=0;printf("please enter a number !\\n");scanf("%d",&n);printf("the number is %d\\n",n);for(a=n;a>0;){ b=b*10+a%10;a=a\/10;} printf("n=%d,b=%d\\n",n,b);if(b==n){ printf("yes!!!");}else{ printf("yes!!!");} } ...

c语言程序:编写函数,判断一个正整数是否为完全平方数,并输出100以内的...
private static boolean isCompSqrt(int p)\/\/判断完全平方数的方法 { boolean flag=false;double fsqrt=Math.sqrt(p);\/\/先将数开平方 int q=(int)fsqrt;\/\/转换成整数,另q为开平方且转换为整数的结果。if(p==Math.pow(q,2))\/\/pow(x,y)就是计算x的y次幂。把开平方后的整数再平方,...

...碰到个问题。。编写一个程序:要求输入一个正整数,如果输入不是正整数...
这个容易,你可以将输入的数赋值给一个变量。比如:输入的是3.2,自己定义一个int型变量.具体如下:假设n=3.2\/\/假设n是你定义的用来储存键盘输入的数。int a;float b;a=n;\/\/此时a就等于n的整数部分,也就是3;b=n-a;\/\/b用来存储n的小数部分,b等于3.2-3;if(b==0)printf("输入的是...

c语言 输入一个整数a 若a大于0输出这个数为正整数,小于0输出是负整数...
include <stdio.h>int main(){int a;scanf("%d",&a);if(a>0) printf("正整数");else if(a<0) printf("负整数");else printf("零");return 0;}

由键盘任意输入一个正整数,要求:判断并显示它是几位数且计算并显示该...
include "stdio.h"include <string.h> void main(){ int i,len,sum=0;char str[10];printf("输入正整数: ");scanf("%s",str);len=strlen(str);for(i=0;i<len;i++)sum+=str[i]-'0';printf("%s是%d位数,各位数字之和是%d\\n",str,len,sum);...