首页 > 试题广场 >

包含数字9的数

[编程题]包含数字9的数
  • 热度指数:35039 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

今年是2019年,KiKi想知道1~2019中有多少个包含数字9的数。包含数字的数是指有某一位是“9”的数,例如“2019”、“199”等。


输入描述:


输出描述:
一行,一个整数,表示1~2019中共有多少个数包含数字9。
#include <stdio.h>

int main() {
    int a = 0, b = 0,sum=0,c=0;
    for (b = 1; b <= 2019; b++)
    {
        c=b;
        while(c%10!=0)
        {
            a=c%10;
            c=c/10;
            if(a==9)
            {
                sum++;
            }
        }
    }
    printf("%d",sum);
    return 0;
}
发表于 2024-12-01 10:31:58 回复(0)
#include <stdio.h>

int main() {
    int a = 0, b = 9;
    for (int i = 90; i <= 2019; i++) {
        a = i;
        while (a) {
            if (a % 10 == 9) {
                b++;
                break;
            }
            a = a / 10;
        }

    }
    printf("%d", b);

    return 0;
}

发表于 2024-11-22 17:04:56 回复(0)
直接无脑写了[手动狗头]

#include <stdio.h>

int main() {
    int a = 0, b = 0;
    while (a <= 2019) {
        if (a % 10 == 9 || a / 1 == 9 || a / 10 == 9 || a / 10 % 10 == 9 || a / 100 == 9 || a / 100 % 10 == 9) {
            b += 1;
        }
        a++;
    }
    printf("%d", b);
    return 0;
}
发表于 2024-09-11 22:25:41 回复(0)

#include<stdio.h>

int main()
{
    int n=0,count=0;
    for(int i=1;i<2020;i++){
        int a=i;
        n=0;
        while(a){
            if(a%10==9) n++;
            a/=10;
        }
        if(n) count++;
    }
    printf("%d",count);
    return 0;
}

发表于 2024-09-06 15:50:10 回复(0)
#include<stdio.h>
int qiuhe(int x)
{
if(x==0)
return 0;

if(x>9)
return x%10+qiuhe(x/10);
else
return x%10;


}

int main()
{
int a=0;
scanf("%d",&a);
printf("%d",qiuhe(a));

return 0;
}
发表于 2024-08-10 16:40:22 回复(0)
来个笨办法
int main() {
    int a = 0, b = 0, c = 0, d = 0, n = 0;
    while (a * 1000 + b * 100 + c * 10 + d <= 2019) {
        d++;
        if (d == 10) {
            c++;
            d = 0;
            if (c == 10){
                b++;
                c = 0;
                if (b == 10) {
                    a++;
                    b = 0;
                }
            }
        }

        if (b == 9 || c == 9 || d == 9) {
            n++;
        }

    }

    printf("%d", n);
    return 0;
}


发表于 2024-08-05 11:40:37 回复(0)
#include <stdio.h>

int main() {
    int count = 0;

    for (int i = 1; i <= 2019; i++) {
        int num = i;
        while (num != 0) {
            if (num % 10 == 9) {
                count++;
                break;//找到一个9即可,不然会出现多算9的情况
            }
            num = num / 10;
        }
    }

    printf("%d\n", count);
    return 0;
}

发表于 2024-07-25 23:59:25 回复(0)
#include <stdio.h>

    int main()
    {

        int i = 0;
        int sun = 0;
        for (i = 1; i <= 2019; i++)
        {
            if ((i % 10) % 9 == 0&& (i % 10)!=0)
            {
                sun++;
               /// printf("%d ",i);
            }
            else if (((i / 10) % 10) % 9 == 0 && ((i / 10) % 10)!=0)
            {
                sun++;
               // printf("%d ", i);
            }
            else if (((i / 100) % 10) % 9 == 0 && ((i / 100) % 10) != 0)
            {
                sun++;
                //printf("%d ", i);
            }
        }
       // printf("\n");
        printf("%d", sun);

        return 0;
    }
发表于 2024-07-09 18:20:53 回复(0)
/*思路 : 首先想到使用数组的方式来实现
          先遍历循环1-2019 然后将这些数据存放在数组里面
          然后使用 == 来判断哪些 
          但是后来又想到了一个for循环的方式
          先1-10 10-100 101-1000 1001-2000 2001-2019 
          因为只有一个数的末尾才包含数字9*/
/*
# include <stdio.h>
int main ()

{
    int count = 0;
    for (int i = 1; i<=2019; i++) 
    {
        if (i%9==0) 
        {
            count ++;
        }
    }
    printf("%d",count);
    return 0;
}
//error 看错题目了...... 看成题目要求多少个能被9整除的数字了......
*/
# include <stdio.h>
int main ()

{
    int count = 0;
    for (int i = 1; i<=2019; i++) 
    {
        //个位、十位、百位取余结果若为9,则是我们需求的数字
        if (i%10==9||(i/10)%10==9||(i/100)%10==9) 
        {
            count ++;
        }
    }
    printf("%d",count);
    return 0;
}

发表于 2024-05-19 23:17:00 回复(0)
#include <stdio.h>

int main() 
{
    int count = 0;
	for (int i = 1; i <= 2019; i++)
	{
		int ret = i;	//i的值不能变
		while (ret)
		{
			if (ret % 10 == 9)	//对每位数检查,有一位为9即可
			{
				count++;
				break;
			}
			ret /= 10;	//去掉低位
		}
	}
	printf("%d\n", count);
    return 0;
}

发表于 2024-05-11 19:16:54 回复(0)
#include <stdio.h>

int main()
{
    int a = 2019, count = 0, j;

    for (int i = 1; i <= a; i++)
    {
        j = i;
        while (j != 0)
        {
            if (j % 10 == 9)
            {
                count++;
                break;
            }
            j = j / 10;

        }
    }

    printf("%d", count);

    return 0;
}
发表于 2024-04-30 23:01:48 回复(0)
#include <stdio.h>

int main() {
    int tag=0, a[3]={0};
    for(int i=1; i<=2019; i++){
        a[2] = i%10;
        a[1] = (i/10)%10;
        a[0] = (i/100)%10;
        if(a[0]==9 || a[1]==9 || a[2]==9){
            tag++;
        }
    }
    printf("%d", tag);
    return 0;
}
发表于 2024-01-20 11:20:48 回复(0)
#include <stdio.h>

int main() {
    int i, count = 0;

    for (i = 0; i <= 2019; i++) {
        int m = i;
        while (m) {
            if (m % 10 == 9) {
                count++;
                break;
            }
            m /= 10;
        }
    }
    printf("%d\n", count);
    return 0;
}

发表于 2024-01-17 22:18:12 回复(0)
编辑于 2023-12-14 11:13:52 回复(0)
#include<stdio.h>

int main(void){
    int x=0;
    for(int i=1;i<=2019;i++){
        if(i%10==9 || i/100%10==9 || i%100/10==9){
            x++;
        }
    }
    printf("%d",x);
}

发表于 2023-11-26 16:12:41 回复(0)
#include <stdio.h>

int main()
 {
   int count = 0,temp = 0;
   int i = 0;
   for(i = 1 ; i <= 2019;i++)
   {
       temp = i;
       while(temp)
       {
        if(temp % 10 == 9)
        {
            count++;
            break;
        }
        temp /= 10;
       }

   }
   printf("%d\n",count);
    return 0;
}

发表于 2023-06-27 18:59:46 回复(0)
#include<stdio.h>
int main() {
    int temp = 0,count = 0;
    for (int i = 1; i <= 2019; i++) {
        temp = i;
        while (temp) {
            if (temp % 10 == 9) {
                count++;
                break;//防止temp出现多个9,只需要记录一次
            }
            temp /= 10;
        }
    }
    printf("%d", count);
    return 0;
}

发表于 2023-04-04 16:20:23 回复(0)
#include <stdio.h>

int main() {
    int i = 0, count = 0;
    for (i = 1; i <= 2019; i++) {
        if (i % 10 == 9 || i / 10 == 9 || i % 100 == 9 || (i / 10) % 10 == 9 ||
                i / 100 == 9
                || i % 1000 == 9 || (i / 10) % 100 == 9 || (i / 100) % 10 == 9) {
            count++;
        }
    }
    printf("%d\n", count);
    return 0;
}

发表于 2023-03-19 16:13:59 回复(0)