IT评测·应用市场-qidao123.com

标题: C语言小任务——1000以内含有9的数字 [打印本页]

作者: 美丽的神话    时间: 2025-1-22 09:55
标题: C语言小任务——1000以内含有9的数字
步骤

第一步:分类

含有九的可能的情况:

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

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

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

  1. void getnum(int num, int* arr)
  2. {
  3.     int i = 0;
  4.     for (i = 0; i < 3; i++)
  5.     {
  6.         arr[2 - i] = num % 10;//我们这里,让百位在第一个,
  7.                              //十位在第二个,个位在第三个
  8.         num /= 10;
  9.     }
  10. }
复制代码
第二步:一旦有一个9,那么就符合标准(主函数执行逻辑判断)

  1. int main()
  2. {
  3.     int i = 0;
  4.     int j = 0;
  5.     int arr[3] = { 0,0,0 };
  6.     for (i = 0; i < 1000; i++)
  7.     {
  8.         getnum(i, arr);
  9.         for (j = 0; j < 3; j++)
  10.         {
  11.             if (arr[2-j] == 9)
  12.             {
  13.                 printf("%d\n", i);
  14.                 break;
  15.             }
  16.         }
  17.     }
  18.     return 0;
  19. }
复制代码
这里是完整的代码
  1. #define _CRT_SECURE_NO_WARNINGS 1
  2. #include<stdio.h>
  3. #include<string.h>
  4. #include<windows.h>
  5. #include <stdlib.h>
  6. #include <time.h>
  7. #include <math.h>
  8. void getnum(int num, int* arr)
  9. {
  10.         int i = 0;
  11.         for (i = 0; i < 3; i++)
  12.         {
  13.                 arr[2 - i] = num % 10;//我们这里,让百位在第一个,
  14.                                                          //十位在第二个,个位在第三个
  15.                 num /= 10;
  16.         }
  17. }
  18. int main()
  19. {
  20.         int i = 0;
  21.         int j = 0;
  22.         int arr[3] = { 0,0,0 };
  23.         for (i = 0; i < 1000; i++)
  24.         {
  25.                 getnum(i, arr);
  26.                 for (j = 0; j < 3; j++)
  27.                 {
  28.                         if (arr[2-j] == 9)
  29.                         {
  30.                                 printf("%d\n", i);
  31.                                 break;
  32.                         }
  33.                 }
  34.         }
  35.         return 0;
  36. }
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4