C/C++教程

PTA《C语言程序设计实验与习题指导(第3版)》题目集 实验5-9 使用函数输出水仙花数 (20 分)

本文主要是介绍PTA《C语言程序设计实验与习题指导(第3版)》题目集 实验5-9 使用函数输出水仙花数 (20 分),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

函数接口定义:

int narcissistic( int number );
void PrintN( int m, int n ); 

函数narcissistic判断number是否为水仙花数,是则返回1,否则返回0。

函数PrintN则打印开区间(mn)内所有的水仙花数,每个数字占一行。题目保证100≤mn≤10000。

裁判测试程序样例:

#include <stdio.h>

int narcissistic( int number );
void PrintN( int m, int n );

int main()
{
    int m, n;

    scanf("%d %d", &m, &n);
    if ( narcissistic(m) ) printf("%d is a narcissistic number\n", m);
    PrintN(m, n);
    if ( narcissistic(n) ) printf("%d is a narcissistic number\n", n);

    return 0;
}

/* 你的代码将被嵌在这里 */

输入样例:

153 400

输出样例:

153 is a narcissistic number
370
371

#include <stdio.h>

int narcissistic( int number );
void PrintN( int m, int n );

int main()
{
    int m, n;

    scanf("%d %d", &m, &n);
    if ( narcissistic(m) ) printf("%d is a narcissistic number\n", m);
    PrintN(m, n);
    if ( narcissistic(n) ) printf("%d is a narcissistic number\n", n);

    return 0;
}

int narcissistic ( int number)
{
    if(3<=number)
    {
        int a,b,sum=0;
        b=number;
        while(b>0)
        {
            a = b%10;
            sum = sum + a*a*a;
            b /=10;
        }
        if(sum == number)
        {
            return 1;
        }
        else
        return 0;
    }
}

void PrintN( int m, int n )
{
    if(100<m && n<10000)//主函数中已经判断边际m、n,这里就不要加=
    {
        int i;
        for(i=m+1;i<=n-1;i++)
        {
            if(narcissistic(i))
            {
                printf("%d\n", i);
            }
        }
    }
}

这篇关于PTA《C语言程序设计实验与习题指导(第3版)》题目集 实验5-9 使用函数输出水仙花数 (20 分)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!