用c语言编写程序 输入一个正整数n,求1到n的数中1出现的个数

用函数调用,那如果输入的是一个大于100或1000的数呢?
2025-04-11 17:40:41
推荐回答(1个)
回答1:

/*用c语言编写程序 输入一个正整数n,求1到n的数中1出现的个数*/
#include"stdio.h"
int count(int n)
{
int i,j,c=0;
for(i=1;i<=n;i++)
{
j=i;
while(j!=0)
{
if(i%10==1) /*判断位数中是否有1*/
{
c++;

}
j=j/10; /*让数除以十让他原来的高位变为低位,即原来的十位变成个位*/
}
}
return c;
}
main()
{
int c,n;
printf("input n:\n");
scanf("%d",&n);
c=count(n);
printf("%d\n",c);

}