ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Общий форум

where're my bugs? help me please=>problem 1123
Послано TheBlaNK 21 дек 2001 22:25
this is my program
=>
#include <stdio.h>
#include <string.h>
int main()
{
 int state,pos,i,n,len,reach=0;
 char str[2005],a;
 scanf("%s",str);
 len=strlen(str);
 n=len/2;
 for(i=0,state=0;i<n;i++)
 {
   if(str[i]!=str[len-i-1])
    {if(state==1) { str[pos]=a; state=0; reach=1; }
     a=str[i];
     pos=len-i-1;
     state=1;
    }
 }
 if(!reach) if(str[pos]>str[len-pos-1]) { str[len-pos-1]++; str[pos]=str
[len-pos-1];  }
        else str[pos]=str[len-pos-1];
 else
  {
   if(str[len-pos-1]>str[pos]) { str[pos]=str[len-pos-1]; }
   else { str[len-pos-1]++; str[pos]=str[len-pos-1]; }
  }
 printf("%s",str);
 return 0;
}
Looks like you do not handle if 9s appear in the middle.
Послано Timus Observer 22 дек 2001 06:21
You should increase (+1) the digit before the 9s then change the 9s
with 0s.
Re: Looks like you do not handle if 9s appear in the middle.
Послано TheBlaNK 22 дек 2001 16:46
oh
Thank you very much