C语言函数 【问题描述】输入2个excel正整数函数m和n(m>=1,n<=1000),输出m~n之间的所有完数

#include&stdio.h&
int factorsum(int n);
int main()
{
int n,m,a;
printf("Input m: ");
scanf("%d",&m);
printf("Input n:
#include&stdio.h&
int factorsum(int n);
int main()
{
int n,m,a;
printf("Input m: ");
scanf("%d",&m);
printf("Input n: ");
scanf("%d",&n);
for(a=m;a&=n;a++){
if(factorsum(a)==a)
{printf("%5d",a);}
return 0;
}
int factorsum(int n)
{
int i,s=0,q;
for(i=2;i&=n;i++){
if(n%i==0)
全部答案(共1个回答)
factosum改动如下:
int factosum(int n)
{
int i, s = 0;
fo (i = 1; i = n
2; i++)
{
if (n % i == 0)
s +=
}
etu
}
答: 现在老年公寓管理软件的公司很多,比如:安泰养老院管理软件,阳光养老院管理软件,惠州有个颐讯养老院管理软件也不错。
答: 通过他,攻击者能神不知鬼不觉地下载和上传目标机器上的任意文件,并能执行一些特别的操作
答: 端口:500说明:InternetKeyExchange(IKE)(Internet密钥交换)端口:说明:RemotAuthenticatio...
大家还关注
Copyright &
Corporation, All Rights Reserved
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区输入2 个正整数m 和n(m≥1,n≤1 000),输出m ~n 之间的所有完数_百度知道
输入2 个正整数m 和n(m≥1,n≤1 000),输出m ~n 之间的所有完数
#include&stdio.h&
double fact(int n);
int main()
int m,n,i;
printf(&Input m: &);
scanf(&%d&,&m);
printf(&Input n: &);
scanf(&%d&,&n);
for(i=m;i&=n;i++){
if (fact(i)==i)
printf(&%5d&,i);
double fact(int n)
int i,x,y;
我有更好的答案
子函数改成如下:int fact(int n){result=0;for(i=1;i&n;i++) //待查的因子从1到n{if(n%i==0)result=result+i;
//这里要加的是因子}}
在1-100之间的完数应该是1.6.28但是这个程序只输出6.28怎么改呢
nt fact(int n){result=1;for(i=2;i&n;i++) //待查的因子从1到n{if(n%i==0)result=result+i;
//这里要加的是因子}}
采纳率:75%
来自团队:
把int i,x,y; 中的,x删掉;把for(i=2;i&=x;i++){if(x%i==0)y=x/i;elsey=0;中的x改成n试试……
#include&iostream&#include&math.h&using&namespace&void&main(){&int&i;&long&wanshu=0;&int&n,x,y;&cout&&&输入n:&&&&cin&&n;&cout&&&输入x:&&&&cin&&x;&cout&&&输入y:&&&&cin&&y;&for(i=1;i&=n;i+=2){& wanshu+=pow(i,3);& if(wanshu==1){& && }& if(wanshu&=x&&wanshu&=y)& &cout&&&n以内的完数:&&&wanshu&&&\t&&&&&}&system(&pause&);}解这个题的方法有很多,我写一个吧!!!x代表m,y代表n(至于n不能输太大,输入10就可以达到你题的要求了,另外我写的是c++,思想没问题)传个图吧!!!自己看!!!
肯定没有啊,我不知道什么叫完全数哦,但是看你写的那个函数fact,你没有发现那个里面的x没有赋初值,并且没有用到n吗?我觉得你应该要把x改为n,
其他1条回答
为您推荐:
其他类似问题
正整数的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。输入两个正整数m和n(1&=m,n&=1000),输出m~n之间所有满足各位数字的立方和等于他本身的_百度知道
输入两个正整数m和n(1&=m,n&=1000),输出m~n之间所有满足各位数字的立方和等于他本身的
输入两个正整数m和n(1&=m,n&=1000),输出m~n之间所有满足各位数字的立方和等于他本身的数。要求并调用函数is(number)判断number的各位数字之立方和是否等于它本身。
153=1^3+5^3+3^3#include&stdio.h& int is(int number){int a,b,c,n;a=n%100;b=(n/10)%1...
我有更好的答案
#include&stdio.h& int is(int number){int s = 0,a = 0;int b =while(number){ a = number % 10; s += a*a*a; number /= 10;}if(s == b)return 1;else return 0;}int main(void){int m,n,i;printf(&Input m:&);scanf(&%d&,&m);printf(&Input n:&);scanf(&%d&,&n);for(i=m;i&=n;i++)if(is(i))printf(&%d\n&,i);return 0;}
为您推荐:
其他类似问题
正整数的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。输入2个正整数m和n(m&=1,n&=500),输出m和n之间的所有素数_百度知道
输入2个正整数m和n(m&=1,n&=500),输出m和n之间的所有素数
#include&stdio.h&void main(){int n,m,a,j,i;scanf(&%d,%d&,&n,&m);a=n;j=2;i=0;while(a&=m,a++){while(j&a,j++){if(a%j==0){i++;if(i&0){}}}printf(&%d&,a);}}帮看下那里错了 运行无结果
我有更好的答案
#include&stdio.h&void main(){ int n,m,a,j,i; scanf(&%d,%d&,&n,&m); a=n;while(a&=m){ j=2;//在这对j符值,这儿不能对2做有效的处理,所以在后面加了个对2的判断。 while(j&a) {
i=0;//在每个数的判断时都要重新给i符值, if(a%j==0)
i++; if(i&0) j++; } if(!i||a==2)//这加个对2的判断, printf(&%d &,a); a++;}}
采纳率:54%
#include&stdio.h&void main(){ int n,m,a,j,i; scanf(&%d,%d&,&n,&m); a=n; while(a&=m) {
if(a == 1)
while(j&a)
if(a%j==0)
if(i == 0)
printf(&%d\n&,a); a++; }}你算的方法不对,输出的时候还得加个判断i是不是等于0
我从来没见过while(a&=m,a++),while(j&a,j++) 这样的while语句应该把 a++; j++ 放到 while结构的{ }中。另外你的while中条件也错了
while{a&=m;a++}a++不能放在{}里面,只有for循环才可以
你那个while里面写错了,这个编译器会认为是逗号运算符。会不执行前面的a&=m的,只是运行a++你是不是想写for循环啊。。把它改为for循环吧
其他2条回答
为您推荐:
其他类似问题
您可能关注的内容
素数的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。C语言写程序输入两个正整数m,n(m大于等于1,n小于等于1000),输出m到n之间的水仙花数。_百度知道
C语言写程序输入两个正整数m,n(m大于等于1,n小于等于1000),输出m到n之间的水仙花数。
C语言写程序输入两个正整数m,n(m大于等于1,n小于等于1000),输出m到n之间的水仙花数。水仙花数指各位数字的立方和等于其自身的数,如152
我有更好的答案
#include&&stdio.h&&#include&&stdlib.h&void&main()&{&&&&&int&i,j,k,t;&&&&&int&m,n;&&&&scanf(&%d%d&,&m,&n);&&&&if(m&n)&&&&{&&&&&&&&t=m;&&&&&&&&m=n;&&&&&&&&n=t;&&&&}&&&&for(t=m;t&=n;t++)&&&&&{&&&&&&&&&i=t/100;/*分解出百位*/&&&&&&&&&j=t/10%10;/*分解出十位*/&&&&&&&&&k=t%10;/*分解出个位*/&&&&&&&&&if(t==i*i*i+j*j*j+k*k*k)&&&&&&&&&{&&&&&&&&&&&&&printf(&%d&&,t);&&&&&&&&&}&&&&&}&&&&&printf(&\n&);&}
软件工程师
为您推荐:
其他类似问题
水仙花数的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 input 限制输入正整数 的文章

 

随机推荐