2016-08-13 10 views
-1

ヒアラインでは数字0-9が整数に表示されて何回表示されるかを知る必要があるため、コードの助けが必要ですそうのような:2 1:0 2:0 3:1 4:0 5:0 6:0 7:0 8:0 9 10 0のベースに 300: 0 私は試しました数字0-9が整数に表示される回数を調べる方法

#include <stdio.h> 
#include <stdlib.h> 

int main() 

{ 

int num, div=1, rem, count=0, i; 
printf("Enter Number: "); 
scanf("%d", &num); 
div = num; 
for(i=1; i<=10; i++) 
{ 
    div = num; 
    while(div!< 0) 
    { 
    rem = div % 10; 
    div = div/10; 


    if(i == rem) 
    { 
     count++; 
    } 


    if(i == rem && count >= 2) 
     { 
      printf("\n%d is present %d times", i, count); 
     } 
    } 
} 
return 0; 
} 

それは正しい答えを返しますが、必要な方法は返しません。助けてくれてありがとう!あなたが番号3002を入力した場合

+4

正しい答えが返ってきたら、正確には動かないのは何ですか? –

+0

どのように答えが必要ですか?あなたは私たちに期待された出力と実際の出力を見せてくれますか? –

+1

'while(div!<0)'はどうすればよいですか? – mch

答えて

0

このコードは、各桁

#include <stdlib.h> 
int main() 
{ 
int num, div=1, rem,j, i; 
printf("Enter Number: "); 
scanf("%d", &num); //3002 
div = num; 
int count[10]={0,0,0,0,0,0,0,0,0,0}; 
while(div>0) 
{ 

rem=div%10; 
div=div/10; 
printf("%d \n",rem); 

for(i=0; i<=9; i++) 
{ 

if(rem==i) 
{ 
count[i]=count[i]+1; 
} 
} 
} 
for(j=0;j<=9;j++) 
{ 
printf("%d",count[j]);} 
return 0; 
} 

の数のカウントあなたを与えるだろう、それは2つの0、1 2 1 3を示す、2011000000として出力が得られます。

+0

あなたの権利は、それでも間違って印刷されます...私は0から9までの数字の列を印刷し、その後、数字の隣に何度も入力してください。 – user3451179

+0

出力をフォーマットするだけです。上記のコードではprintf( "%d"、count [j]);}をprintf( "%d:%d \ n"、j、count [j]);}の行に置き換えます –

+0

私は数のベース2を追加する必要がある場合は?私は300の数字に5つのゼロと4つのものがあることを意味します。どうすればそれを追加できますか? – user3451179

関連する問題