C语言问题!!
输入正整数m和n(设100≤m≤n≤999),输出m到n之间满足下列条件的三位数:它的个位数的立方加十位数的平方再加上百位数等于该数的本身(例如135=1+3*3+5*5...
输入正整数m和n(设100≤m≤n≤999),输出m到n之间满足下列条件的三位数:它的个位数的立方加十位数的平方再加上百位数等于该数的本身(例如135=1+3*3+5*5*5)。
如输入:135 600
则输出:135 175 518 598
C语言做出!谢谢啦!! 展开
如输入:135 600
则输出:135 175 518 598
C语言做出!谢谢啦!! 展开
3个回答
展开全部
#include <stdio.h>
void main()
{
int ope1,ope2,i,sum;
printf("请输入m的值:");
scanf("%d",&ope1);
if (ope1<100||ope1>999)
{
printf("输入错误!!");
}
else
{
printf("请输入n的值:");
scanf("%d",&ope2);
if (ope2<100||ope2>999||ope2<ope1)
{
printf("输入错误!!");
}
else
{
for (i=ope1;i<=ope2;i++)
{
sum=0;
sum+=(i%10)*(i%10)*(i%10);
sum+=(i/10%10)*(i/10%10);
sum+=i/100;
if (sum==i)
{
printf("%d ",i);
}
}
printf("\n");
}
}
}
增加了对输入的判断
void main()
{
int ope1,ope2,i,sum;
printf("请输入m的值:");
scanf("%d",&ope1);
if (ope1<100||ope1>999)
{
printf("输入错误!!");
}
else
{
printf("请输入n的值:");
scanf("%d",&ope2);
if (ope2<100||ope2>999||ope2<ope1)
{
printf("输入错误!!");
}
else
{
for (i=ope1;i<=ope2;i++)
{
sum=0;
sum+=(i%10)*(i%10)*(i%10);
sum+=(i/10%10)*(i/10%10);
sum+=i/100;
if (sum==i)
{
printf("%d ",i);
}
}
printf("\n");
}
}
}
增加了对输入的判断
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
int judement(int y);
int main()
{
int m,n,i,temp;
printf("input M:");
scanf("%d",&m);
printf("\n input N:");
scanf("%d",&n);
printf("\n");
for(i=m;i<=n;i++)
{
temp=i;
if(judement(temp)==1)
printf("%5d",temp);
}
return 0;
}
int judement(int x)
{
int i,j,temp;
temp=x;
i=temp%10;
temp/=10;
j=i*i*i;
i=temp%10;
temp/=10;
j+=i*i;
i=temp%10;
j+=i;
if(j==x)
return 1;
else
return 0;
}
int judement(int y);
int main()
{
int m,n,i,temp;
printf("input M:");
scanf("%d",&m);
printf("\n input N:");
scanf("%d",&n);
printf("\n");
for(i=m;i<=n;i++)
{
temp=i;
if(judement(temp)==1)
printf("%5d",temp);
}
return 0;
}
int judement(int x)
{
int i,j,temp;
temp=x;
i=temp%10;
temp/=10;
j=i*i*i;
i=temp%10;
temp/=10;
j+=i*i;
i=temp%10;
j+=i;
if(j==x)
return 1;
else
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询