新手求助
为什么无论输入什么,程序既不运算也不输出答案?Problem Description
一个有趣的四位数2992,这个数,它的十进制数,其四位数字之和为2+9+9+2=22,它的十六进制数BB0,其四位数字之和也为22,同时它的十二进制数表示1894,其四位数字之和也为22,那么现在请你帮忙来判断任何一个十进制的四位数,是不是Sky数吧。
Input
输入含有一些四位正整数,如果为0,则输入结束。
Output
若n为Sky数,则输出“#n is a Sky Number.”,否则输出“#n is not a Sky Number.”。每个结果占一行。注意:#n表示所读入的n值。
Sample Input
2992
1234
0
Sample Output
2992 is a Sky Number.
1234 is not a Sky Number
这是我的代码#include<stdio.h>
int sky_judge1(int system,int num)
{
int judge=0;
while(num)
{
judge+=num%system;
num=num/system;
}
return judge;
}
bool sky_judge2(int num)
{
int judge1=sky_judge1(num, 10);
int judge2=sky_judge1(num, 12);
int judge3=sky_judge1(num, 16);
if(judge1==judge2&&judge1==judge3&&judge2==judge3)
return true;
else
return false;
}
int main()
{
int num;
while(scanf("%d",&num)!=EOF)
{
if(num=0)
{break;}
if(sky_judge2(num))
{printf("%d is a Sky Number\n",num);}
else
{printf("%d is not a Sky Number\n",num);}
}
return 0;
} 你的if语句写错了 if(num=0) 直接给他赋值为零了
#include<stdio.h>
int sky_judge1(int system,int num)
{
int judge=0;
while(num)
{
judge+=num%system;
num=num/system;
}
return judge;
}
bool sky_judge2(int num)
{
int judge1=sky_judge1(num, 10);
int judge2=sky_judge1(num, 12);
int judge3=sky_judge1(num, 16);
if(judge1==judge2&&judge1==judge3&&judge2==judge3)
return true;
else
return false;
}
int main()
{
int num;
// printf("%d",10%292) ;
while(scanf("%d",&num)!=EOF)
{
if(num==0)
{break;}
if(sky_judge2(num))
{printf("%d is a Sky Number\n",num);}
else
{printf("%d is not a Sky Number\n",num);}
}
return 0;
} #include<stdio.h>
int sky_judge1(int system,int num)
{
int judge=0;
// 你把输入的值和进制弄反了
while(system)
{
judge+=system%num;
system=system/num;
}
return judge;
}
// 这里我把返回类型改了,我的Dev用bool会报错
int sky_judge2(int num)
{
int judge1=sky_judge1(num, 10);
int judge2=sky_judge1(num, 12);
int judge3=sky_judge1(num, 16);
if(judge1==judge2&&judge1==judge3&&judge2==judge3)
return 1;
else
return 0;
}
int main()
{
int num;
while(scanf("%d",&num)!=EOF)
{
if(num==0) // 另外这里是==
{break;}
if(sky_judge2(num))
{printf("%d is a Sky Number\n",num);}
else
{printf("%d is not a Sky Number\n",num);}
}
return 0;
} 巴巴鲁 发表于 2021-9-19 14:22
感谢指正,但是二楼稍微早一点{:10_262:},不好意思 河岸柳 发表于 2021-9-19 14:44
感谢指正,但是二楼稍微早一点,不好意思
没事,问题解决就好,过意不去给我两三鱼币也行{:10_256:} 巴巴鲁 发表于 2021-9-19 14:22
.cpp的就不会报错 大马强 发表于 2021-9-19 17:50
.cpp的就不会报错
噢噢,学到了,谢谢
页:
[1]