#include<stdio.h> void main(void) { printf("输入10以内的位数:"); int n; scanf("%d", &n); putchar(10); switch (n) { case 1:printf("独身数"); break; case 2:printf("没有"); break; case 3:printf("水仙花数");break; case 4:printf("四叶玫瑰数"); break; case 5:printf("五角星数"); break; case 6:printf("六合数"); break; case 7:printf("北斗七星数"); break; case 8:printf("八仙数"); break; case 9:printf("九九重阳数"); break; case 10:printf("十全十美数"); break; } printf(" "); int X=1; for (int i = 0; i < n; i++) { X *= 10; } int x = X / 10; for (int i = x; i < X; i++) { int t=i; int sum = 0; for (int j = 0; j < n; j++) { int g = t % 10; int c = 1; for (int k = 0; k < n; k++) { c*=g; } sum += c; t /= 10; } if (sum == i)printf("%d\t", i); } putchar(10); }