C语言中,判断两个数之间的水仙花数与素数,要求输出时每行只能有六个数字且用函数表示

如题所述

#include<stdio.h>
int isprime(int n)
{ for(int i=2; i*i<=n; i++)
    if(n%i==0)return 0;
  return n>1;
}
int isnarcissus(int n)
{ int a,b,c;
  if(n<100||n>999)return 0;
  a=n/100;
  b=n/10%10;
  c=n%10;
  return (a*a*a+b*b*b+c*c*c==n);
}
int main()
{ int a,b,i,n=0;
  scanf("%d%d",&a,&b);
  for(i=a; i<=b; i++)
    if(isprime(i)||isnarcissus(i))
    { printf("%8d",i);
      if(++n%6==0)printf("\n");
    }
    printf("%d %d",isprime(1000),isnarcissus(1000));
  return 0;
}

温馨提示:答案为网友推荐,仅供参考