C语言求400,401,402,...499这些数中4出现的次数

2025-03-13 20:46:53
推荐回答(2个)
回答1:

1-99:if( a%10==4)i++;
a=a/10;
if(a==4)i++;
100-999:
if( a%10==4)i++;
a=a/10;
if( a%10==4)i++;
a=a/10;
if(a==4)i++;
1000不用判断
也就是说是n位数就将
if( a%10==4)i++;
a=a/10;
这段循环n-1次 最后加一句 if(a==4)i++;即可

可能我的算法麻烦,也是新手希望多交流

回答2:

可以通过函数来实现,运行下面的程序你输入任意的两个整数,程序将输出在这两个整数间4出现的次数。
#include
int count( int n)
{
int counts = 0;
while(n != 0)
{
if(n%10 == 4)
counts++;
n = n / 10;
}
return counts;
}
int num4(int n,int m)
{
int i; int sum = 0;
for( i = n; i <= m; i++ )
sum += count( i );
return sum;
}
main()
{
int m,n; int k;
printf("请输入两个数n和m (n scanf("%d%d",&n,&m);
k = num4(n,m);
printf("%d到%d之间4出现的次数为:%d\n",n,m,k);
}