一个c语言编程题

设有一个3位数,它的百位数、十位数、个位数的立方和正好等于这个3位数,如153=1+125+27。编写函数,返回小于等于传入参数n且满足该条件的三位数(称为水仙花数)的个... 设有一个3位数,它的百位数、十位数、个位数的立方和正好等于这个3位数,如153=1+125+27。
编写函数,返回小于等于传入参数n且满足该条件的三位数(称为水仙花数)的个数。
(指定函数原型:int find(int n))
输入输出格式要求:
编写函数int find(int n);
返回值要求:如果传入参数n不是三位数或者在该范围内没有找到,则find返回0,
否则返回找到的水仙花数的个数。
注意:不要在find函数中打印(如调用printf或puts等函数)任何数据,否则视为错误。
例如:
n为:400
find函数应返回3
展开
 我来答
紫薇参星
科技发烧友

2018-11-05 · 有一些普通的科技小锦囊
知道大有可为答主
回答量:5983
采纳率:92%
帮助的人:3492万
展开全部

按照题目要求编写的求水仙花数的C语言程序如下

#include<stdio.h>

int find(int n){

 int i,a,b,c,count=0;

 if(n<100 || n>=1000) 

  return 0;

 for(i=100;i<=n;i++){

  a=i/100;

  b=i/10%10;

  c=i%10;

  if(i==a*a*a+b*b*b+c*c*c){

   count++;

  }

 }

 return count;

}

int main()

{

  int n;

  scanf("%d",&n);

  printf("%d",find(n));

  return 0;

}

fallx
2018-11-05 · TA获得超过5485个赞
知道大有可为答主
回答量:2321
采纳率:73%
帮助的人:701万
展开全部
#include <stdio.h>
int find(int n){
    int i,m,k=0,t,s=0; 
    if(n>=100 &&n<=999){//是三位数,查找
        for(i=100;i<=n;++i){
            s=0;
            m=i;
            while(m){
                t=m%10;
                s+=t*t*t;
                m=m/10;     
            }
            if(s==i)
                k++;
        }
    }
    return k;
}
int main(){
 int a;
 scanf("%d",&a);
 printf("%d\n",find(a));
 return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
听不清啊
高粉答主

2018-11-05 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int find(int n)
{if(n<100||n>999)return 0;
 int i,k=0,a,b,c;
 for(i=100;i<=n;i++)
 {a=i/100;
  b=i/10%10;
  c=i%10;
  if(a*a*a+b*b*b+c*c*c==i)k++;
 }
 return k;
}
int main()
{int n;
 scanf("%d",&n);
 printf("%d\n",find(n));
 return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
中兵勘察海外部

2018-11-05 · TA获得超过7760个赞
知道大有可为答主
回答量:3.7万
采纳率:73%
帮助的人:1732万
展开全部
int find(int n) {
int i,t=0,n1,n2,n3;
while (n < 100 | n >999) retuen 0;
for (i=100,i<=n,i++) {
n1 = int (i /100); n2 = int ((i-n1*100)/10); n3 = int (i-n1*100-n2*10);
if (n1^3+n2^+n3^3 = i) t++;
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式