VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 796|回复: 4

帮忙看一下这个统计整数number中数字digit的个数的程序哪有问题啊~~谢谢呦

[复制链接]

2

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-3-11 13:00:02 | 显示全部楼层 |阅读模式
#include <stdio.h>
int main( )
{
  int ri,repeat;
    int count;
      long in;
        int countdigit(long number, int digit);

          scanf("%d",&repeat);
            for(ri=1;ri<=repeat;ri++){
                scanf("%ld",&in);
                count=countdigit(in,2);
                  printf("count=%d\n",count);
                    }
                    }
          int countdigit(long number, int digit)
              {

                int a,t,count,count1,i;
                 count=1; count1=0;
                while((t=number/10)!=0)
                     count++;
                for(i=1;i<=count;i++)
                   {a=number;
                    for(;a>0;a/=10)
                       {if(a%10==2)
                         count1++;}}
                 return count1;}
回复

使用道具 举报

0

主题

63

帖子

43.00

积分

新手上路

Rank: 1

积分
43.00
发表于 2020-6-5 19:30:01 | 显示全部楼层
while((t=number/10)!=0)
    count++;
//死循環
回复

使用道具 举报

2

主题

4

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
 楼主| 发表于 2020-6-7 11:15:02 | 显示全部楼层
不好意思,我知道错哪啦。
回复

使用道具 举报

0

主题

10

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-6-7 17:00:01 | 显示全部楼层
lz逻辑能力表示怀疑。。。。该函数应改为(无用变量太多。。。):
int countdigit(long number, int digit)
{
long a;
int count;
    for(count=0,a=number;a>0;a/=10)
    {
        if(a%10==digit)
           count++;
     }
return count;
}
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-7-20 00:30:01 | 显示全部楼层
不可以这么写么
1+rand()%2
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表