当前位置: 首页 > article >正文

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[2 - i] = num % 10;//我们这里,让百位在第一个,
                             //十位在第二个,个位在第三个
        num /= 10;
    }
}

第二步:一旦有一个9,那么就符合标准(主函数执行逻辑判断)

int main()
{
    int i = 0;
    int j = 0;
    int arr[3] = { 0,0,0 };
    for (i = 0; i < 1000; i++)
    {
        getnum(i, arr);
        for (j = 0; j < 3; j++)
        {
            if (arr[2-j] == 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[2 - i] = num % 10;//我们这里,让百位在第一个,
							 //十位在第二个,个位在第三个
		num /= 10;
	}
}

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

	return 0;
}


http://www.kler.cn/a/513479.html

相关文章:

  • Flutter:carousel_slider 横向轮播图、垂直轮播公告栏实现
  • 数据结构之堆排序
  • 【知识分享】PCIe5.0 TxRx 电气设计参数汇总
  • 数据分析 基础定义
  • 【面试题】JVM部分[2025/1/13 ~ 2025/1/19]
  • gitlab使用多数据库
  • 第3章 存储系统
  • 偏序关系.
  • LeetCode hot 力扣热题100 翻转二叉树
  • 最新百应abogus纯算还原流程分析
  • WPF2-1在xaml为对象的属性赋值.md
  • DOL-288 多功能电子计时器说明书
  • (10)深入浅出智能合约OpenZeppelin开源框架
  • Linux内核编程(二十一)USB驱动开发-键盘驱动
  • es 3期 第25节-运用Rollup减少数据存储
  • VINS-Mono源码阅读(一)程序简介、编译调试、配置文件
  • Unity自学之旅04
  • 缓存系统(redis)测试体系
  • 智慧脚下生根,智能井盖监测终端引领城市安全新革命
  • Mybatis 进阶 / Mybatis—Puls (详细)
  • 升级《在线写python》小程序的分享功能。昨天忘了...
  • Keil5 IDE使用笔记
  • C#调用c++dll的两种方法(静态方法和动态方法)
  • 大华相机DH-IPC-HFW3237M支持的ONVIF协议
  • Apache SeaTunnel 2.3.9 正式发布:多项新特性与优化全面提升数据集成能力
  • 【Python项目】小区监控图像拼接系统