用函数实现回文数
int hw(int x){
int g,s,b;
if(x<10)
return 1;
else if(x>=10&&x<=99)
{
g=x%10;
s=x/10%10;
if(g==s)
return 1;
}
else
{
g=x%10;
s=x/10%10;
b=x/100%10;
if(g==b)
return 1;
}
}
void main()
{
int i,sum=0,b;
for(i=1;i<=999;i++)
{
b=hw(i);
if(b==1)
{
sum++;
printf("%d\n",i);
}
}
printf("%d",sum);
}
为什么我这个程序会错误的判断一些数,比如会把12 13 14.....也加上 编译器有没有警告?有的话把所有警告解决之后再来问,没有的话该换一个了 dolly_yos2 发表于 2023-3-9 16:36
编译器有没有警告?有的话把所有警告解决之后再来问,没有的话该换一个了
完全没报错,但就是会多统计一些数据,不知道原因在哪 #include<stdio.h>
int hw(int x)
{
int g,s,b;
if(x<10)
return 0;
else if(x>=10&&x<=99)
{
g=x%10;
s=x/10%10;
if(g==s)
return 1;
else return 0;
}
else
{
g=x%10;
s=x/10%10;
b=x/100%10;
if(g==b)
return 1;
else return 0;
}
}
int main()
{
int i,sum=0,b;
for(i=1;i<=999;i++)
{
b=hw(i);
if(b==1)
{
sum++;
printf("%d\n",i);
}
}
printf("%d",sum);
}
页:
[1]