用C++语言编一个程序,即求出1--100之内的完数,并写出它的所有因子。(用while语句)请各位高手指点。

来自:潮流生活    更新日期:早些时候
用C语言编写一个程序,输出1000以内的所有“完数”。一个数如果恰好等于它的因子之和,这个数就是“~

#include void main(){int i;for( i=1;i<1000;i++ ){int s=1,j;for( j=2;j<i;j++ )if ( i%j==0 )s += j ;if ( s==i )printf(" %d", i );}}

#include #define MAX 100 /*100以内的完全数*/int main (void) {int x,temp,sum; /*X表示要判断的数,temp表示数的因子,sum表示因子之和*/for (x=1; x<=MAX; x++) {sum= 0;for(temp=1; temp<x; temp++) { /*判断x能否被temp整除,如果可以,则是因子,进行求和*/if(x%temp==0)sum= sum+temp;}if(sum==x) /*如果是完数,打印输出*/printf("%d",x);}putchar ('
');fflush (stdin);getch ();return 0;}运行结果

#include <iostream>
using namespace std;

int main( )
{
int n , temp , i , k , a[100] , sum ;
for( n = 1 ; n < 100 ; n ++ )
{
temp = n ;
k = 0 ;
sum = 0 ;
for( i = 1 ; i < n ; i ++ )
{
if( n % i == 0 )
{
a[k++] = i ;
sum += i ;
}
}
if( sum == n )
{
cout << n << endl ;
for( i = 0 ; i < k ; i ++ )
{
cout << a[i] << ' ' ;
}
cout << endl ;
}
}
return 0 ;
}

#include <iostream>
using namespace std;
int main()
{
int i,j,k,sum,s[100];
i = 2;
while(i<=100)
{
j = 1;
k = 0;
sum = 0;
while(j<i)
{
if( i % j == 0 ) {s[k++] = j ;sum += j;}
j++;
}
if(sum == i)
{
cout<<sum<<" ";
for( j = 0 ; j < k ; j++)
{
cout<<s[j]<<" ";
}
cout<<endl;
}
i++;
}
return 0;
}
如果都要用while的话中间的for可以改成这样
if(sum == i)
{
cout<<sum<<" ";
j = 0;
while(j<k)
{
cout<<s[j++]<<" ";
}
cout<<endl;
}


用C++语言编一个程序,即求出1--100之内的完数,并写出它的所有因子。(用while语句)请各位高手指点。视频

相关评论:
  • 18675964883编写一个c语言程序,求表达式x-z%2*(x+y)*7\/2的值。
    逄耐施include<cstdio> void main(void){ float x,y,z,result;printf("输入x,y,z:");scanf("%f%f%f",&x,&y,&z);result=x-(int)z%2*(x+y)*7\/2;printf("结果为:%g\\n",result);} 不懂再问哈

  • 18675964883用C语言写一个计算A+B的简单程序
    逄耐施程序如下:include <stdio.h> include <stdlib.h> int main(int argc, char *argv[]){ int a,b;scanf("%d %d",&a,&b);printf("%d",a+b);system("PAUSE");return 0;} C语言编写简单程序具体操作步骤:1、头文件:基本都会带有三个头文件,这是编译系统自带的头文件,我们一般都会使用到...

  • 18675964883如何用C语言编写一个计算器程序?
    逄耐施2.写出主函数void main(){},在函数内添加如下代码:\/\/定义变量 int minusNumber=-10; int plusNumber=0; \/\/转换成正数 plusNumber=abs(minusNumber); \/\/输出结果 printf("转换前:%d\\n",minusNumber); printf("转换后:%d\\n",plusNumber);3.点击红叹号调试。程序清单:include "stdafx.h"#...

  • 18675964883求用c语言编写一个程序,求10000以内含有数字4的数的个数
    逄耐施这是数学问题,相当于排列组合问题。求N个数字以内的含有M的方法,对于以上问题即求4个数字(9999)以内含有4的个数。千位为"4"的个数是10*10*10;百位、十位、个位为"4"的个数也是10*10*10;所以10000以为的个数为4000个,公式为:N*pow(10, N-1);但是这里面有重复,例如"4444"都满足上面4...

  • 18675964883急求:用C语言编写一个程序,计算一个整数的三次方,并输出计算结果_百度...
    逄耐施我刚刚编的,可以。不知道是不是你所要的。include <stdio.h> void main(){ int n;printf("欢迎来到计算整数的三次方的程序!\\n");printf("请输入您要计算的数:");scanf("%d",&n);printf("您要计算的%d三次方为:%d\\n",n,n*n*n);} ...

  • 18675964883用C语言编写程序,求某一方阵中对角线元素和。要求:考虑主对角线和副...
    逄耐施您好,很高兴回答您的问题。对于一个方阵而言,求主次对角线的和其实并不难,就是要学会分析主次对角线上数据的下标之间的关系。对于主对角线而言,它的数组元素的下标之间的关系是:行列号是相等的;对于次对角线而言,数组元素的下标关系为:行列号之和为方阵数-1.include<stdio.h> define N 3 void...

  • 18675964883c语言简单程序编写?
    逄耐施include<stdio.h> int main(){ double num1, num2, result, re;char sign, euq;printf("Enter an expression: ");while(scanf("%lf%c%lf%c%lf", &num1,&sign,&num2,&euq,&result) == 5){ switch(sign){ case '+':re = num1 + num2;break;case '-':re = num1 - num...

  • 18675964883请用C语言编一个程序计算3位学生3门课成绩总分和平均成绩?
    逄耐施\\n");for(j=0;j<3;j++){ printf("成绩%d: ",j+1);scanf("%d",&str[count].score[j]);sum+=str[count].score[j];} str[count].avr=sum\/3;printf("\\n是否继续?(y or n)");fflush(stdin);scanf("%c",&ch);count++;} return stud;} \/\/成绩排序函数 void sort()...

  • 18675964883用C语言编写一个程序计算并输出s。 n,x 从键盘输入,例如,当 n=10...
    逄耐施{ int i, n; float s=0, x, tmp=1; printf("int n,folat x\\n"); scanf("%d,%f", &n, &x); for(i=1; i<=n; i++) { tmp*=(x\/i);s+=tmp; } s++; printf("s=%f", s); return 0;}楼上写的根本不能用……...

  • 18675964883用C语言编写程序,求1到10的阶乘之和:S=1!+2!+3!+4!+5!+6!+7!+8!+9...
    逄耐施;system("pause");return 0;} C11标准:2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C语言的新标准,名叫ISO\/IEC 9899:2011 - Information technology -- Programming languages -- C ,简称C11标准,原名C1X。这是C语言的第三个官方标准,也是C语言的最新标准。

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网