题目描述:输入 1 10
44 497
0 0
输出:2
185
一个小程序,发现里面有好多细节!
程序如下:
#include<stdio.h>
#include<stdlib.h>
int bijiao(int i)
{
int s=0,r;
while(r!=0)//r=0,跳出来了
{
while(i%10==0&&i>9)
{ i=i/10;}
r=i%10;
i=i/10;
if(r==1)s++;
}
return s;
}
int main()
{
int a,b,i,s,k;int t;
int str[100];int j;
j=0;
while(a!=0||b!=0)
{
s=0;
scanf("%d %d",&a,&b);getchar();
if(a<=0||a>=100000000||b<=0||b>=100000000)
break;
for(i=a;i<=b;i++)
{
k=bijiao(i);
s=s+k;
}
str[j]=s;
j++;
}
t=j;
for(j=0;j<t;j++)
printf("%d\n",str[j]);
// system("pause");
return 0;
}
注意:在函数体中,需注意循环条件,如果少了一个i>9该循环将是一死循环!!按了enter,就要记得写一下getchar()