大一新生啥也不会,help

img


大一新生啥也不会,help me,代码写不出来,没什么思路,有会的朋友,帮帮我


#include <math.h>
#include <stdio.h>
int main()
{
    int n;
    do
    {
        scanf("%d", &n);
    } while (n > 7 || n < 3);

    int N = 1;
    for (int i = 1; i < n; i++)
        N *= 10;

    for (int i = N; i < N * 10 - 1; i++)
    {
        int sum = 0, t, x = i;
        while (x)
        {
            t = x % 10;
            sum += pow(t,n);
            x /= 10;
        }
        if (i == sum)
            printf("%d\n", i);
    }

    return 0;
}

#include<stdio.h>
#include<ctype.h>
#include<math.h>
#include<stdlib.h>
#include<conio.h>
#pragma warning(disable:4996)
#define MAX 1000
int main(void) 
{
    int n;
    int count = 0;
    while (!scanf_s("%d", &n) || n < 3 || n>7)
    {
        while (getchar() != '\n');
        printf("请输入一个整数n(3<=n<=7)\n");
    }
    for (int i = 1; i < MAX; i++)
    {
        int tmp = i;
        int num = 0;
        while (tmp != 0)
        {
            num += pow(tmp % 10, n);
            tmp /= 10;
        }
        if (num == i)
        {
            printf("%d\t", i);
            count++;
            if (count % 5 == 0)
                putchar('\n');
        }
    }
    printf("\n%d共有%d个水仙花\n", MAX, count);
    return 0;
}

本人新手一枚,凑合看看啦,Hi~ o( ̄▽ ̄)ブ