输入2个正整数m和n(m>=1,n<=1000),输出m到n之间的所有完数

作者&投稿:剧劳 (若有异议请与网页底部的电邮联系)
C语言函数 【问题描述】输入2个正整数m和n(m>=1,n<=1000),输出m~n之间的所有完数~

#include int factorsum(int n){int sum,i;for(i=1,sum=0;i<n;++i){if(n%i==0)sum+=i;}return sum;}int main(void){int m,n;while(scanf("%d , %d",&m,&n)==2){for(;m<n;++m){if(m==factorsum(m)){printf("%d ",m);}}printf("
");}return 0;}

#includeint main()
{
int factorsum(int number);
int m,n,a;
//这两句去掉,没有意义
//m>=1;
//n<=1000;
scanf("%d,%d",&m,&n);
for (a=m;a<=n;a++)
{
if (a==factorsum(a))//判断是否相等应该是==if (a=factorsum(a))
printf("%d ",a);//输出元素间加个空格分开printf("%d",a);
}
}
int factorsum(int number){
int i=1,a=0;
for(i=1;i<number;i++)
{
if(number%i==0)
a=a+i;
}
return a;
}






#include<stdio.h>
void main()
{
int m,n,i,t;
int factorsum(int number);//声明一个方法factorsum(int number)
printf("Input m(m>=1):");
scanf("%d",&m);
printf("Input n(n<=1000):");
scanf("%d",&n);
if(m>n)
{t=m;m=n;n=t;}
for(i=m;i<=n;i++)
{ if(i==factorsum(number))//调用方法factorsum(number)
printf("%d",i);
}
}
int factorsum(int number)
{
int i,sum=1;
for(i=2;i<number;i++)
{ if(number%i==0)
sum=sum+i;
}
return sum;
}
注:你在调用方法factorsum(number)时传入的参数是number(为了区分,我们把它叫做“传入的number”),但是number并没有定义,之前在声明方法int factorsum(int number);时定义的变量number(为了区分,我们把它叫做“声明里的number”),“传入的number”与“声明里的number”虽然名字相同,但是却是两个不同的变量,系统报错说没有定义number指的是你“传入的number”没有定义,只要在主函数中定义个number就好啦~还有,即使你在主函数中定义了变量number这个程序的目的也不是输出m到n之间的所有完数~
把你的程序改下如下:
#include<stdio.h>
void main()
{
int m,n,i,t;
int factorsum(int number);
printf("Input m(m>=1):");
scanf("%d",&m);
printf("Input n(n<=1000):");
scanf("%d",&n);
if(m>n)
{t=m;m=n;n=t;}
for(i=m;i<=n;i++)
{ if(i==factorsum(i))//只需把该处传入的参数改成i即可~
printf("%d",i);
}
}
int factorsum(int number)
{
int i,sum=1;
for(i=2;i<number;i++)
{ if(number%i==0)
sum=sum+i;
}
return sum;
}

unmber确实没定义啊,int factorsum(int number);这句是声明,而且number被定义成一个形参,你在调用之前并没有定义,if(i==factorsum(number))这里number要求是个实参传入到factorsum函数的形参unmber中

第四行变为int m,n,i,t,number;就行了

迷惘。。。。。


C语言函数 【问题描述】输入2个正整数m和n(m>1,n<=500),统计并输出m...
r=1; for ( i=2;i<=m\/2;i++ ) if ( m%i==0 ) {r=0;break;} return r;}void main() { int m,n,i,k,s; scanf("%d,%d",&m,&n); k=s=0; for ( i=m;i<=n;i++ ) if ( prime(i) ) { k++; s+=i; } printf("count=%d,sum=%d\\n",k,s);} ...

用C语言编写程序:输入两个正整数m,n.求其最大公约数和最小公倍数
include "stdio.h"void main(){ int m,n,temp,a,b;printf("请输入2个正整数m和抄n:");scanf("%d%d",&m,&n);a=m;b=n;if(m<n){ temp="m;" m="n;" n="temp;" }="" if(0="=n){" printf("除数为0!\\n");="" return;="" while(temp!="0){" printf("最大...

输入两个正整数m和n,求最大公约数和最小公倍数
这个程序采用的是辗转相除法。规则为:1) n 和 m (n>m) 的最大公约数等于 m 和 n%m 的最大公约数。2) 当 m为0 时,这时的 n 为 开始时的 n 和 m 的最大公约数

编写程序,输入两个正整数m和n,输出m和n之间的素数并统计素数的个...
\/\/编写程序,输入两个正整数m和n,输出m和n之间的素数并统计素数的个数。要求定义并调用函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0。include <stdio.h> int prime(int m);int main(int argc, const char * argv[]) { int m,n,i,j,sum = 0;printf("请输入两个正整数...

输入2 个正整数m 和n(1<=m,n<=500),统计并输出m 和n 之间的素数的个数...
int prime(int x){int i,n;n=1;if (x==1){ n= 0;} for(i=2;i<x;i++){if(x%i==0){ n=0;break;}} return n;}

输入2个整数,求最大公约数,最小公倍数。用C语言表示。
输入两个正整数m和n,求其最大公约数和最小公倍数.<1> 用辗转相除法求最大公约数 算法描述:m对n求余为a,若a不等于0 则 m <- n,n <- a,继续求余 否则 n 为最大公约数 <2> 最小公倍数 = 两个数的积 \/ 最大公约数 include int main(){ int m,n;int m_cup,n_cup,res;\/*...

C语言函数 【问题描述】输入2个正整数m和n(m>=1,n<=1000),输出m~n之 ...
include <stdio.h>int factorsum(int n){int sum,i;for(i=1,sum=0;i<n;++i){if(n%i==0)sum+=i;}return sum;}int main(void){int m,n;while(scanf("%d , %d",&m,&n)==2){for(;m<n;++m){if(m==factorsum(m)){printf("%d ",m);}}printf("\\n");}return 0;} ...

C语言编程,输入两个正整数M和N(M<N),计算M和N之间的所有整数和
一、基本方法:1、输入M和N;2、遍历从M到N的所有整数;3、每个累加;4、输出结果。参考代码:include <stdio.h>int main(){ int M,N,n,s=0; scanf("%d%d",&M,&N);\/\/输入 for(n = M; n <= N; n ++)\/\/遍历 s+=n;\/\/累加每个整数。 printf("%d\\n",s);\/...

编写程序 输入两个正整数m和n(1<=m<n<=500),统计并输出m和n之间素数...
include<stdio.h> int main(){ int a,b,m,n,s=0,i,count=0;printf("请输入一个两个互不相等1~500之间正整数m,n:\\n");scanf("%d%d",&m,&n) ;if(m==n){printf("不符合输入要求\\n"); } if(m>n){ a=n;n=m;m=a;} for(b=m;b<=n;b++){ for(i=2;i<=b-...

编写程序,输入两个正整数m和n,输出m和n之间的素数并统计素数的个数.要...
2、在窗体上添加控件:lable控件,text值为“输入一个数,判断是否是素数”;一个textbox控件(tb_inputvalue),用来输入要判断的素数。3、素数设计算法。4、素数设计算法:取消检测区间,提高程序效率。我们可以只判断2到n\/2之间的数,就可以知道他是不是素数了。5、获取前100之间的所有素数:从2到...

定日县17096265344: 输入两个正整数m和n(m -
弓罡万适:[答案] 不好意思,这几天比较忙,现在才看到你的求助. 这个程序我建议你不要去用函数求,那样太麻烦了.楼上的这位写的一看就... #include #include int main(void) { int i,j,k=0,m,n; printf("please input two numbers:"); scanf("%d,%d",&m,&n); while(m>n ||...

定日县17096265344: C语言编程:输入两个正整数m和n,求它们的最大公约数
弓罡万适: main() { int a,b,num1,num2,temp; printf("请输入两个正整数:\n"); scanf("%d,%d",&num1,&num2); if(num1

定日县17096265344: C语言从键盘输入两个正整数m和n,求最大公约数和最小公倍数 -
弓罡万适: #include <stdio.h>void main() { int m,n,r,x; scanf("%d,%d",&m,&n); x=m*n; while(n!=0) { r=m%n; m=n; n=r; } printf("%d %d\n",m,x/m); }

定日县17096265344: c语言:输入两个正整数m和n(m>=1,n<=1000) -
弓罡万适: 展开全部#include "stdio.h" int is(int i) { int a,b,c,d; a=i%10; b=i/10%10; c=i/100%10; d=i/1000; if((a*a*a+b*b*b+c*c*c+d*d*d)==i) return 1; elsereturn 0; } main() { int i; for(i=1;i<=1000;i++) { if(is(i)) printf("%d ",i); } }

定日县17096265344: 用C语言编写:输入两个正整数m和n,求其最大公约数和最小公倍数. -
弓罡万适: #include main(){long int a,b,d; long int m,n,i,j; double c,h; c=1; scanf("%ld%ld",&m,&n); if(m>=n){ b=m;d=n;}else{b=n;d=m;} for(i=1;i if((m%i==0) && (n%i==0) && (m%n!=0) && (n%m!=0)){ c=c*i;}else{if(b%d==0){c=d;}}}h=(m*n/c); printf("%.0lf %.0lf",c,h);return 0; }

定日县17096265344: C语言 水仙花数 我编的程序是错的,但不知道哪错了,求高手帮忙看看
弓罡万适: /*输入两个正整数m和n(m&gt;=1,n&lt;10000),输出m到n之间的所有水仙花数*/ #include &lt;stdio.h&gt; int main(void) { int a,b,c,s,i,d=0,m,n; printf("Input m,n:"); scanf("%d,%d",&amp;m,&amp;n); for(i=m;i&lt;=n;i++) { if((i&gt;=100)&amp;&amp...

定日县17096265344: 编程题“输入两个正整数m和n,求其最大公约数和最小公倍数”
弓罡万适: #include<iostream> using namespace std; int main() { int p,r,n,m,temp; cout<<"任意输入两个正整数m,n:"; cin>>m>>n; in(m>n) {temp=n; n=m; m=temp; } p=n*m; while(m!=0) {r=n%m; n=m; m=r; } cout<<"最大公约数="<<n<<endl; cout<<"最小公倍数="<<p/n<<endl; return 0; }

定日县17096265344: C语言编程:输入两个正数m和n,求其最大公约数和最小公倍数. -
弓罡万适: 展开全部#include void main() {int p,r,n,m,temp; printf("请输入两个正整数 n,m:"); scanf("%d,%d",&n,&m); if(n 采纳哦

定日县17096265344: C语言.输入2个正整数m和n(m>=1,n<=1000),输入m和n之间的所有水仙花数.水仙花数是指个位数字的立方和 -
弓罡万适: #include int shuixianhua(int m) { int s=0,flag=0,a,b,c; a=m/100; c=m%10; b=m/10%10; s+=a*a*a+b*b*b+c*c*c ; if(s==m) flag=1; return(flag); } main() { int i; for(i=1;i<1000;i++) if(shuixianhua(i)) printf("the number is:%d\n",i); }

定日县17096265344: 用c语言编写程序,输入两个正整数m和n,计算m!+n! -
弓罡万适: #include <stdio.h> void main() {//计算阶乘数的加和float i,m,n,ji=1,sum=0,sum1=0,sum2=0;scanf("%f",&m);scanf("%f",&n);for(i=1;i<=m;i++){ji*=i;sum1+=ji;}for(i=1;i<=n;i++){ji*=i;sum2+=ji;}sum0=sum1+sum2;printf("阶乘的加和结果是:%.2f\n",sum0); }

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网