【C语言】从1到整数n(2≤n≤2020)的所有数字中,共有多少个2?


题目

1到整数n(2≤n≤2020)的所有数字中,共有多少个2?:
1到整数n(2≤n≤2020)的所有数字中,共有多少个2?


#include<stdio.h>

int countdigit(int x)//定义一个函数计算2的个数
{
	int a = 0;//定义一个临时的变量来存放2
	int count = 0;//计数器

	while (x != 0)
	{
		a = x % 10;//取个位上的数字
		x = x / 10;//去除已经取到的个位,将原来个位前面的移到个位上
		if (a == 2)
		{
			count++;
		}
	}
	return count;
}

int main()
{
	int n = 0;//输入的数
	int i = 0;//循环次数
	int sum = 0;
	scanf("%d", &n);

	for ( i = 1; i <= n; i++)
	{
		sum += countdigit(i);
	}
	printf("%d\n", sum);
	return 0;
}

总结:

这道题主要考察的是对取模运算符 % (求余数)和除法运算符 / 的运用:
1.取模运算符
参与运算的量均为整型。并且参与运算的量可以为负数。
取模运算的结果等于两个数相除后的余数。
例如:
20 % 10 = 0 ; 5 % 2 = 1 ; 1 % 2 = 1
2.除法运算符
参与运算的量均为整型时,结果为整型,舍去小数。如果运算量中有一个为实型,结果为双精度实型。
除号的正负取舍和一般的算数一样,符号相同为正,相异为负。
除法运算符的结果等于两个数相除的商。
例如:
20 / 10 = 2 ; 5 / 2 = 2 ;1 / 2 = 0 ; 5 / 2.0 = 2.5

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值