输入两个正整数 m 和 n(1<=m, n<=1000),输出 m 到 n之间的所有满足各位数字的立方和等于它本身的数。
程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat(0<repeat<10),做repeat次下列运算:输入两个正整数m和n(1<=m,n<=1000),...
程序填空,不要改变与输入输出有关的语句。
输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:
输入两个正整数 m 和 n(1<=m, n<=1000),输出 m 到 n之间的所有满足各位数字的立方和等于它本身的数。
例如153的各位数字的立方和是 1^3+5^3+3^3=153 ,这里a^b表示a的b次方。
输出使用语句:printf("%d\n", i);
输入输出示例:括号内为说明
输入:
2 (repeat=2)
100 400 (m=100, n=400)
1 100 (m=1, n=100)
输出:
result:
153 (1*1*1+5*5*5+3*3*3=153)
370 (3*3*3+7*7*7=370)
371 (3*3*3+7*7*7+1*1*1=371)
result:
1 (1*1*1=1)
#include "stdio.h"
int main(void)
{
int i, digit, m, n, number, sum;
int repeat, ri;
scanf("%d",&repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d%d", &m, &n);
printf("result:\n");
/*---------*/
}
}
我的程序为什么不对啊
#include "stdio.h"
int main(void)
{
int i, digit, m, n, number, c,sum;
int repeat, ri;
scanf("%d",&repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d%d", &m, &n);
printf("result:\n");
for(i=m;i<=n;i++){
digit=i%10;
number=(i/10)%10;
c=i/100;
if(i==digit*digit*digit+number*number*number+c*c*c)
printf("%d\n", i);}
}
} 展开
输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:
输入两个正整数 m 和 n(1<=m, n<=1000),输出 m 到 n之间的所有满足各位数字的立方和等于它本身的数。
例如153的各位数字的立方和是 1^3+5^3+3^3=153 ,这里a^b表示a的b次方。
输出使用语句:printf("%d\n", i);
输入输出示例:括号内为说明
输入:
2 (repeat=2)
100 400 (m=100, n=400)
1 100 (m=1, n=100)
输出:
result:
153 (1*1*1+5*5*5+3*3*3=153)
370 (3*3*3+7*7*7=370)
371 (3*3*3+7*7*7+1*1*1=371)
result:
1 (1*1*1=1)
#include "stdio.h"
int main(void)
{
int i, digit, m, n, number, sum;
int repeat, ri;
scanf("%d",&repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d%d", &m, &n);
printf("result:\n");
/*---------*/
}
}
我的程序为什么不对啊
#include "stdio.h"
int main(void)
{
int i, digit, m, n, number, c,sum;
int repeat, ri;
scanf("%d",&repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d%d", &m, &n);
printf("result:\n");
for(i=m;i<=n;i++){
digit=i%10;
number=(i/10)%10;
c=i/100;
if(i==digit*digit*digit+number*number*number+c*c*c)
printf("%d\n", i);}
}
} 展开
3个回答
展开全部
int is(int number)//定义一个返回值为int型的函数,命名为is,并定义一个int型参数number
{
int temp,digit,sum,res;
temp=number;//将传递进来的参数number赋值给temp
sum=0;//初始化和为0
while(number!=0){//如果传递进来的数字不为0,执行while循环
digit=number%10;//获取个位上的数字
sum=sum+pow(digit,3);//将和加上上行代码所获得的个位数字的立方和
number=number/10;//将数字除以10,继续while循环
}
if(sum==temp)//根据sum的结果判断是否为水仙花树
res=1;
else
res=0;
return res;
}
这个函数用于判断是否是水仙花数(也就是你说的各位数字立方和等于本身)
{
int temp,digit,sum,res;
temp=number;//将传递进来的参数number赋值给temp
sum=0;//初始化和为0
while(number!=0){//如果传递进来的数字不为0,执行while循环
digit=number%10;//获取个位上的数字
sum=sum+pow(digit,3);//将和加上上行代码所获得的个位数字的立方和
number=number/10;//将数字除以10,继续while循环
}
if(sum==temp)//根据sum的结果判断是否为水仙花树
res=1;
else
res=0;
return res;
}
这个函数用于判断是否是水仙花数(也就是你说的各位数字立方和等于本身)
展开全部
我调试了一下,没有问题啊,你把我这个复制过去再试试。
#include <stdio.h>
int main(void)
{
int i, digit, m, n, number, c,sum;
int repeat, ri;
scanf("%d",&repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d%d", &m, &n);
printf("result:\n");
for(i=m;i<=n;i++){
digit=i%10;
number=(i/10)%10;
c=i/100;
if(i==digit*digit*digit+number*number*number+c*c*c)
printf("%d\n", i);}
}
}
#include <stdio.h>
int main(void)
{
int i, digit, m, n, number, c,sum;
int repeat, ri;
scanf("%d",&repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%d%d", &m, &n);
printf("result:\n");
for(i=m;i<=n;i++){
digit=i%10;
number=(i/10)%10;
c=i/100;
if(i==digit*digit*digit+number*number*number+c*c*c)
printf("%d\n", i);}
}
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int is(int number)//定义一个返回值为int型的函数,命名为is,并定义一个int型参数number
{
int temp,digit,sum,res;
temp=number;//将传递进来的参数number赋值给temp
sum=0;//初始化和为0
while(number!=0){//如果传递进来的数字不为0,执行while循环
digit=number%10;//获取个位上的数字
sum=sum+pow(digit,3);//将和加上上行代码所获得的个位数字的立方和
number=number/10;//将数字除以10,继续while循环
}
if(sum==temp)//根据sum的结果判断是否为水仙花树
res=1;
else
res=0;
return res;
}
这个函数用于判断是否是水仙花数(也就是你说的各位数字立方和等于本身)
你这个程序有一个bug,就是没有判断用户的输入是否为合法的。对用户输入的m n的值范围没有进行判断。可进行相应的修改,使程序更完美。
{
int temp,digit,sum,res;
temp=number;//将传递进来的参数number赋值给temp
sum=0;//初始化和为0
while(number!=0){//如果传递进来的数字不为0,执行while循环
digit=number%10;//获取个位上的数字
sum=sum+pow(digit,3);//将和加上上行代码所获得的个位数字的立方和
number=number/10;//将数字除以10,继续while循环
}
if(sum==temp)//根据sum的结果判断是否为水仙花树
res=1;
else
res=0;
return res;
}
这个函数用于判断是否是水仙花数(也就是你说的各位数字立方和等于本身)
你这个程序有一个bug,就是没有判断用户的输入是否为合法的。对用户输入的m n的值范围没有进行判断。可进行相应的修改,使程序更完美。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询