题目:统计个位数字---在PTA平台上做题有一个测试点不通过
本帖最后由 newlifelxh 于 2017-3-12 15:40 编辑题目:统计个位数字
问题:在PTA平台上做题有一个测试点不通过(如下图):
我的代码:
#include<stdio.h>
int Count_Digit(const int N, const int D);
int main()
{
int N, D;
scanf("%d %d", &N,&D);
printf("%d\n", Count_Digit(N,D));
return 0;
}
int Count_Digit(const int N, const int D)
{
int count, num, s;
count = 0;
if (N<0)
s = -N;
else
s = N;
while (s != 0)
{
num = s % 10;
if (num == D)
count = count + 1;
s = s / 10;
}
return count;
}
楼主,当N为0时,需要统计的个数为0出现的个数的时候。 craneX 发表于 2017-3-12 15:55
楼主,当N为0时,需要统计的个数为0出现的个数的时候。
你说的对!
忘了0 0这个测试用例了
马上改正
一会把正确的代码贴出来 craneX 发表于 2017-3-12 15:55
楼主,当N为0时,需要统计的个数为0出现的个数的时候。
这是改正之后的代码:
#include <stdio.h>
int Count_Digit ( const int N, const int D );
int main()
{
int N, D;
scanf("%d %d", &N, &D);
printf("%d\n", Count_Digit(N, D));
return 0;
}
int Count_Digit(const int N, const int D)
{
int count, num, s;
count = 0;
if (N<0)
s = -N;
else
s = N;
if(s == 0){
if( s==D )
count = 1;
else
count = 0;
}
while (s != 0)
{
num = s % 10;
if (num == D)
count = count + 1;
s = s / 10;
}
return count;
}
页:
[1]