为什么三位数的时候输出的是对的,到四位数的时候就输出错误了呢adsgvzjwbgsgjbbzhsh
2条回答 默认 最新
- Li&&Tao 2022-10-19 20:06关注
思路很不错啊。只是代码的27行出了点问题哈
#include<stdio.h>
int p(int t);
int main()
{
int a, b, i, f, j, m[100], key;
scanf_s("%d %d", &a, &b);
for (i = a; i <= b; i++) {
int f;
f = i;
if (p(i) == 0)
{
for (j = 0; f != 0; j++) {
m[j] = f % 10;
f = f / 10;
if (f == 0) {
int h = 0;
while (j >= 0) {
if (m[h++] == m[j--]) {
key = 1;
}
else {
key = 0;
break;
}} if (key == 1) { printf("%d\n", i); } } } } }
}
int p(int t) {
int k;
if (t < 2)
return 1;
for (k = 2; k * k <= t; k++) {
if (t % k == 0)
return 1;
}
return 0;
}就是当key = 0的时候,你的程序还是没有退出循环,最终会导致当第一位的数字和第四位的数字相同时,就打印输出
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 关于smbclient 库的使用
- ¥15 微信小程序协议怎么写
- ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
- ¥20 怎么用dlib库的算法识别小麦病虫害
- ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
- ¥15 java写代码遇到问题,求帮助
- ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
- ¥15 有了解d3和topogram.js库的吗?有偿请教
- ¥100 任意维数的K均值聚类
- ¥15 stamps做sbas-insar,时序沉降图怎么画