나는이 문제를 해결하는 데 어려움을 겪고 있습니다. 사용자는 15 개의 숫자 (정수)를 입력해야하며 회문이 있는지 확인해야합니다.배열을 사용하여 palindrome 찾기
만약 내가 가장 긴 것을 취해야한다면, 그리고 같은 크기를 가진 것이 더 많으면 나는 색인을 먼저 가져야 만한다. 즉 :
순간에 내 코드입니다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와 배열 1 [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);
}
무엇이 문제입니까? 당신의 문제는 무엇입니까? 무슨 일 이니? – DrKoch
더 똑똑한 알고리즘을 수행했다면 스택으로 구현할 수 있습니다. 그것은 SO 질문이 아닙니다. 오류가 발생하면 그 사실을 알려주십시오. – kidshaw
정수가 아닐 경우 왜 두 글자를 버리면 '이중'으로 입력합니까? –