Я даю 1000-значное число в качестве входных данных и использую эту программу, чтобы найти максимальное произведение 5 последовательных целых чисел. Массив a используется для хранения последовательности с наивысшим продуктом. Я получаю неожиданный ответ (я подозреваю, что проблема заключается в преобразовании из char в int)
#include <stdio.h>
int main(void)
{
int a[5],c=0,b,i=1;
char *num[1000];
scanf("%s",&num);
while(i<5)
{
a[i]=num[i]-'0';
i++;
}
while(i<1000)
{
b=(char)num[i]-'0';
if(a[c]<b)
{
a[c]=b;
c=(c+1)%5;
}i++;
}
printf("%d",a[0]*a[1]*a[2]*a[3]*a[4]);
return 0;
}
num
не менее 1001. - person woolstar   schedule 21.01.2014