gpt4 book ai didi

c - 使用数组查找回文

转载 作者:行者123 更新时间:2023-11-30 19:44:35 24 4
gpt4 key购买 nike

我遇到了这个问题,无法解决。用户需要输入 15 个数字(整数),我需要检查是否有回文。

如果有多个,我必须取最长的一个,如果有多个相同大小的,我必须取索引在前的那个。即:

Input:
1 2 1 3 5 6 7 8 9 4 5 6 8 9 8
Output:
Palindrome Found: 121
Input:
1 2 1 3 3 1 6 4 8 7 9 5 4 8 6
Output:
1 3 3 1

这是我现在的代码:当我运行它时,k 和 array1[k] 的值似乎是一个错误。我已经把它们还给了5373952。即使有回文,它也会回调未找到回文。

#include <stdio.h>
#include <stdlib.h>

int main()
{
double arr[15]={0};
int array1[15];
int i,j,k=0;

for (i=0; i<15; i++) // the program is asking for 15 numbers from the user.
{
scanf("%lf", &arr[i]);
if ((arr[i]-(int)arr[i])!= 0)// if the number is not a whole number, the program will stop immediately.
{
printf("Error \n");
return (0);
}
}
for (i=0; i<15; i++)
{
for(j=14; j>=i; j--) // going back-wards to the start. checking at each point for a match.
{
if ((int)arr[i]==(int)arr[j])
{
array1[k]=(int)arr[j];
i++;
j--;
k++;
break;
}
}
}
if ( (int)arr[j] == array1[k] )
{
printf("Palindrome Found:%d \n", array1[k]);
}
else
{
printf("Palindrome Not Found \n");
}

return (0);

}

最佳答案

数字必须在 0 到 9 之间,或者可以更大?例如

1 2 13 22 16 4

无论如何,将输入作为字符串使用是明智的。

关于c - 使用数组查找回文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27910523/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com