-1

我需要一些代码帮助,因为 heahline 说我需要找到一个数字 0-9 出现在一个整数中的次数并像这样打印它:300 in a base of 10 0:2 1:0 2:0 3:1 4:0 5:0 6:0 7:0 8:0 9:0 我试过了

#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;
}

它返回正确的答案,但不是我需要的方式。谢谢您的帮助!

4

1 回答 1

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;
 }

如果输入数字 3002,它将输出 2011000000,表示 2 个 0、1 个 2 和 1 个 3。

于 2016-08-13T09:47:48.803 回答