В описании программа, которая заменяет каждую цифру в строке на следующую. Исправьте в ней ошибку - C (СИ)

Узнай цену своей работы

Формулировка задачи:

#include <stdio.h>
int main()
{
    int i,j;
    char s[100];
    const char* a="1234567890";
    printf("Vvedite stroku\n");
    gets(s);
    for (i=0; i<strlen(s); i++)
    {
        for (j=0; j<strlen(a); j++) 
        {
            if(s[i]==a[j]) s[i]=a[j+1];
        }
    } 
    printf("\nStroka:\n%s\n",s);
}
Программа не выводит строку. Если поставить s[i]=a[j-1] то программа работает.

Решение задачи: «В описании программа, которая заменяет каждую цифру в строке на следующую. Исправьте в ней ошибку»

textual
Листинг программы
#include <stdio.h>
#include <ctype.h>
 
int main(void) {
    char buf[BUFSIZ];
    
    while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' ) {
        char * p;
        
        for ( p = buf; *p; ++p )
            if ( isdigit(*p) )
                *p = (*p - '0' + 1) % 10 + '0';
        
        printf("Result: %s", buf);
    }
    
    return 0;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы