2022-11-12c习题10-1 判断满足条件的三位数

#include

#include <math.h>

int search(int n);

int main()

{

    int number;

    scanf("%d", &number);

    printf("count=%d\n", search(number));

    return 0;

}

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

int search(int n)

{

    int count = 0;//答案,计数。

    int sz[3] = { 0 }; //定义一个数组。用于判断随意两位是否相等的情况

    int d = 0;//用来计算i的赋值,用d算可以不改变i的值

    for (int i = 101;i <= n;i++)

    {

        float a = sqrt(i);

        int b = sqrt(i); //因为有math头文件,所以可以利用sqrt函数直接开方。

        if (a - b == 0)//如果开平方是整数(a-b判断),进入下一步判断。

        {

            int p = i;

            for (int c = 0;c < 3;c++)  //挨个把数字拆开装进数组。

            {

                d = p % 10;

                sz[c] = d;

                p /= 10;

            }

            if (sz[0] == sz[1] || sz[0] == sz[2]) //判断数组中每位是否互相相等。

            {

                count++;

            }

            else if (sz[1] == sz[2])

            {

                count++;

            }

        }

    }

    return count;

}

原题:题目详情 - 习题10-1 判断满足条件的三位数 (pintia.cn)

还是一样熟练又简单的题目。

答案

答案正确

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容