-3
此代碼嘗試對輸入數字中的數字進行計數。如何統計數字中的數字,包括前導零?
如果輸入數字是06584
,則此代碼的輸出將爲4
,不包括零。我怎麼能得到5
作爲輸出(所以計數零)?
#include<stdio.h>
void main()
{
int n,c=0,d;
printf("Enter no\n");
scanf("%d",&n);
while(n!=0)
{
d=n%10;
c++;
n=n/10;
}
printf("No of digits=>%d\n",c);
}
沒有數學的解決方案是要檢測前導零。您必須以字符串的形式讀取用戶的輸入並獲取字符串長度。 – Kenster
你應該在你的while之前添加n的'printf',你會看到前面的0(s)已經消失 – pm100
'char n [100];的scanf( 「%S」,正); C = strlen的(N);'。假設輸入有效,這會給你數字的個數。要驗證它確實是一個使用'strtol'的數字。 – kaylum