![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #include<stdio.h> 2 int num[11]={0}; 3 int main() 4 { 5 long long int n,b; 6 int i,j,k,l,ans; 7 scanf("%lld",&n); 8 scanf("%d",&k); 9 b=n; 10 j=1; 11 while(b>=10) 12 { 13 num[j]=b%10; 14 j++; 15 b=b/10; 16 } 17 num[j]=b; 18 //统计n有多少位存到j中,并且把n的每一位存到num数组,注意此时数组第一位是n的个位,第二位是n的十位……以此类推。 19 l=0; 20 ans=0; 21 for(i=1;i<=j;i++) 22 { 23 if(num[i]==0) l++; 24 else ans++; 25 if(l==k) 26 { 27 printf("%d\n",ans); 28 break; 29 }//如果找够了k个0,输出ans,不用再往下找了。 30 } 31 if(l<k) { 32 printf("%d\n",j-1); 33 }//如果没找够k个0,输出位数减一 34 }