#include<stdio.h>
#include<math.h>
#define N 5
int main()
{
int
i
,
j
,
num_one;
int
tem
[N
];
int n;
while(
scanf(
"%d"
,
&n))
{
num_one
=
0;
for(
i
=
1;
i
<=n;
i
++)
for(
j
=
0;
j
<N;j++)
{
tem[j]=0;
tem[j]=i/(int)(pow(10,(4-j)))%10;
if(tem[j]==1)
num_one++;
}
printf("从数字1到数字%d中1的个数:%d\n",n,num_one);
}
return 0;
}
#include<math.h>
#define N 5
int main()
{
}
//初学者伤不起啊
//用一个数组去接收n,计算数组中1的个数,遍历一边就完事了
//c语言中‘^’是代表位操作符,而不是乘方的意思
//c语言中pow(x,y)来计算x^y,如果用在整型中,还必须对pow强制转型。
//pow 原型函数
//double pow ( double base, double exponent );
//long double pow ( long double base, long double exponent );
//float pow ( float base, float exponent );
//double pow ( double base, int exponent );
//long double pow ( long double base, int exponent );