一个c语言编程题

2025-02-02 03:40:37
推荐回答(4个)
回答1:

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

#include

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;

}

回答2:

#include 
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;
}

回答3:

#include
#include
#include
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;
}

回答4:

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;
}