美丽的神话 发表于 2025-1-22 09:55:15

C语言小任务——1000以内含有9的数字

步骤

第一步:分类

含有九的可能的情况:

个位有9,十位有9,百位有9,而根据组合数,我们可以得出,一共有7种情况,分别是

9##,#9#,##9,  99#,9#9,#99,999

想要按照这七种情况来找,很显着非常复杂,所以,我们采用另一种方法
第一步:求出小于1000的数字的每一位

void getnum(int num, int* arr)
{
    int i = 0;
    for (i = 0; i < 3; i++)
    {
        arr = num % 10;//我们这里,让百位在第一个,
                             //十位在第二个,个位在第三个
        num /= 10;
    }
} 第二步:一旦有一个9,那么就符合标准(主函数执行逻辑判断)

int main()
{
    int i = 0;
    int j = 0;
    int arr = { 0,0,0 };
    for (i = 0; i < 1000; i++)
    {
        getnum(i, arr);
        for (j = 0; j < 3; j++)
        {
            if (arr == 9)
            {
                printf("%d\n", i);
                break;
            }
        }
    }

    return 0;
} 这里是完整的代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<windows.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
void getnum(int num, int* arr)
{
        int i = 0;
        for (i = 0; i < 3; i++)
        {
                arr = num % 10;//我们这里,让百位在第一个,
                                                       //十位在第二个,个位在第三个
                num /= 10;
        }
}

int main()
{
        int i = 0;
        int j = 0;
        int arr = { 0,0,0 };
        for (i = 0; i < 1000; i++)
        {
                getnum(i, arr);
                for (j = 0; j < 3; j++)
                {
                        if (arr == 9)
                        {
                                printf("%d\n", i);
                                break;
                        }
                }
        }

        return 0;
}

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: C语言小任务——1000以内含有9的数字