#include
#include
int main()
{
char buf1[4], buf2[4];
for (int i = 1000; i < 1111; i++)
{
int a = 0, b = 3;
int n = 9*i;
int c = i;
while (c!= 0)
{
buf1[a++] = c % 10 ;
c = c / 10;
}
while (n != 0)
{
buf2[b--] = n % 10 ;
n = n / 10 ;
}
if (strcmp(buf1, buf2) == 0)
printf("%d\n", i);
}
return 0;
}
为啥找找守形数总是多一个
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- Heart09 2015-04-17 02:43关注
首先你确定你是在找守形数?
那个9*i是什么意思?
b=3又是什么意思?
还有buf1,buf2怎么没初始化?
在使用strcmp之前,查查
strcmp的结束判断是怎么做的?你的意思应该是 n=i*i;
while(n!=0)中应该是取最低三位吧?而且你这个三位是不是因为b=3 这个设置,放颠倒了?
而且这里的b--,如果n=i*i时候,会不会导致b为负数,向前越界?
哎?怎么会是最低三位?1000不应该是4位吗?最后,为什么不这样写:
n=i*i;
if(i == (n%10000)) 则为守形数并输出。解决 无用评论 打赏 举报
悬赏问题
- ¥15 c程序不知道为什么得不到结果
- ¥40 复杂的限制性的商函数处理
- ¥15 程序不包含适用于入口点的静态Main方法
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置