编写函数:1-1000之中包含2的个数,比如22算两个。
#include<stdio.h>
int Num_Of_2(int n)
{
intk = 0;//表示n中含有的个数
while(n)
{
if(n%10== 2)
{
k++;
}
n = n/10;
}
returnk;
}
int Sum_Of_2(int N)
{
inti;
int sum = 0;
for(i=1;i<=N;i++)
{
sum += Num_Of_2(i);
}
return sum;
}
int main(void)
{
intn;
intk;
printf("请输入n:");
scanf("%d",&n);
k = Sum_Of_2(n);
printf("%d",k);
return0;
}
【同类题变换】
求从1-n含2的数字个数。
#include<stdio.h>
int Num_Of_2(int n)
{
intk = 0;//表示n中含有的个数
while(n)
{
if(n%10== 2)
{
k++;
break;
}
n = n/10;
}
returnk;
}
int Sum_Of_2(int N)
{
inti;
intsum = 0;
for(i=1;i<=N;i++)
{
sum += Num_Of_2(i);
}
returnsum;
}
int main(void)
{
intn;
intk;
printf("请输入n:");
scanf("%d",&n);
k = Sum_Of_2(n);
printf("%d",k);
return0;
}