C语言----用C语言代码实现三位数的分解


示例1:求特殊数的和:含2、0、1、9的数的和(调用数的分解函数进行判断)

 

#include
int fac(int n)//数的分解函数,将该数上的每个数字进行筛选判断是否有满足题目要求的数字
{
while(n)
{
if(n%10==2||n%10==0||n%10==1||n%10==9)//判断是否存在2 0 1 9这四个数字
return 1;//存在即返回真
n/=10;//进行分解,如果该数是四位数,执行完这一步后,个位将会舍去,十位变成个位,四位数变成三位数
}
return 0;//执行到这说明不存在符合题目要求的数字,返回假
}
int main()
{
int n,i,ans=0;
scanf("%d",&n);//n表示求从1到n有多少个满足题目要求的数字
for(i=1;i<=n;i++)
{
if(fac(i))//判断真假
{
ans+=i;//如果真,则把这些数字相加
}
}
printf("%d",ans);//输出这些特殊数的和
}

 

示例2:直接对三位数进行倒叙输出:

 

#include
int main()
{
int n,a,b,c,t;//a表示个位,b十位,c百位
scanf("%d",&n);
a=n%10;
b=n/10%10;
c=n/100;
t=a*100+b*10+c;
printf("%d",t);
return 0;
}