В каждом слове поменять местами первый и последний символы - C (СИ)

  1. Доброй ночи. Помогите с программой, заранее спасибо. Дана строка символов до точки. В каждом слове поменять местами первый и последний символы.


textual

Код к задаче: «В каждом слове поменять местами первый и последний символы - C (СИ)»

#include<stdio.h>
 
int main()
{
    int str[20] = {'a','b','1','2',' ','c','d','3','4',' ','e','i','5','6',' ','8','0','c','f','.'};
    int i = 0, k =0, temp;
    while (str[i] != '.')
    {
        if (str[i] == ' ')
           {
                 temp = str[i-1];
                 str[i-1] = str[k];
                 str[k] = temp;
                 k = i+1;
            }
            ++i;
    }
    for (i = 0; i <=19; ++i)
        putchar(str[i]);
    return 0;
}

СДЕЛАЙТЕ РЕПОСТ

7   голосов, оценка 4.286 из 5



Похожие ответы
  1. Вот код:C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #include #include #include #define n 4 #define m 5   int main() { int X[n][m]; int B[n]; int i,j,v; srand(time(0)); for (i=0; i 0 && X[i][j]%5 == 0) B[n] += X[i][j];} printf ("%3d",B[n]);} return 0; }Помогите исправить шибки) Так как поиск производится по всей матрице, а нужно по каждому столбцу) Буду признателен за помощь)

  1. Здравствуйте, надеюсь, кто-нибудь поможет) Нужно написать программу, которая: -выводит текст из файла на экран дисплея; -определяет количество букв “a” в последнем слове текста Первая часть реализована, со второй проблема, хотя в последнем слове в файле есть буква а, программа выдает результат 0C++1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 #include #include #include #include #include FILE* f_open; FILE* f; int kod; char puch[] = "c:\\file.dat"; FILE *Open_file(char*, char*); void fun_1(); void fun_2();   void main()   {     setlocale(LC_CTYPE, "Russian");     int menu;     do     {         printf("Меню:");         printf("\n1-вывод текста из файла на экран");         printf("\n2-определение количества букв 'а' в последнем слове");         printf("\n3-выход");         printf("\nВаш выбор: ");         scanf("%d", &menu);         switch (menu)         {         case 1:               {f_open = Open_file(puch, "r");                             fun_1();                 fclose(f_open);                 break;             }         case 2:             {                 fun_2();                 fclose(f_open);             }         case 3: exit(0);             break;         default:             system("cls");             puts("выберите команду 1, 2 или 3");         }     } while (1);     _getch(); }   FILE *Open_file(char*file, char* kod) {     FILE* f;//Объявление файла     if (!(f = fopen(file, kod)))     {         printf("Ошибка открытия файла");         exit(1);     }     return f; }   void fun_1() {     char *strbuff;     strbuff = new char[71];     if (strbuff == NULL)     {         puts("Недостаточно памяти");         _getch();         return;     }       printf("\n\nТекст файла:\n\n");     while (fgets(strbuff, 70, f_open) != NULL)     {         printf("%s", strbuff);     }     printf("\n\n");     delete[]strbuff;     _getch(); }   void fun_2() {     char *strbuff;     strbuff = new char[71];     if (strbuff == NULL)     {         puts("Недостаточно памяти");         _getch();         return;     }       int a = 0;     while (fgets(strbuff, 70, f_open) != NULL)     {         fscanf(f_open, "%", &strbuff);         for (int i = 70; i >= 0; i--)         {             while (strbuff [i]!=' ') {                 if (strbuff[i] == 'а')                     a++;             }           }};     printf("\nКоличество букв 'а' в последнем слове: %d", a);     delete[]strbuff;     _getch(); } Что не так, подскажите, пожалуйста)

  1. Известны оценки по физике каждого ученика двух классов. Определить среднюю оценку в каждом клас¬се. Количество учащихся и каждом классе одинаковое.

  1. мне дана задача: В каждом столбце двумерного массива поменять местами первый отрицательный элемент и последний нулевой. Я написала код, но он не хочет рабоать, я не понимаю почему, найдите пожалуйста ошибку.C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 #include #include int main() { int i,j,x,y,q,d,f,g,h,z;      // i j - индексы массива mas[0][2] printf("Vvedite zna4enie strok="); scanf("%d",&x);  while(x<=0)     // на случай, если пользователь введет отрицательное количество строк     {         printf("error, kol-vo elementov >0 ");         scanf("%d", &x);     } printf("\nVvedite zna4enie stolbcov="); scanf("%d",&y);  while(y<=0)     // на случай, если пользователь введет отрицательное количество столбцов     {         printf("error, kol-vo elementov >0 ");         scanf("%d", &y);     } int M[x][y]; for(i=0;i

  1. Ввести строку. Подсчитать количество букв в самом длинном слове (Не на С++, а именно на С) Помогите составить программу, пожалуйста

  1. Здравствуйте! Нужна помощь. Разработать программу согласно варианту задания. Типы данных определяются из специфики задачи, если их тип не указан явно. При реализации программы использовать оператор выбора switch. Дано вещественное число в формате ХХ.ХХ‚ вывести словесное описание этого числа. Пример: 54.23 -— пятьдесят четыре целые, двадцать три сотые.

  1. Заменить все слова в исходном файле на количество букв (целое число) в сло- ве. Результат записать в отдельный файл. Записывать числа следует с помощью функции форматированного вывода fprintf.

  1. Заданно предложение, слова в нем разделены пробелом, подсчитать, сколько букв и цифр в последнем слове. Помогите написать программу пожалуйста:C1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include #include #include #include  main() { setlocale (LC_ALL,"RUS");   // ниже нужно написать код для подсчета сколько букв и цифр в последнем слове     _getch(); return 0; }

  1. Не могу понять, почему не работает. Помогите. Вроде легко, а все равно не робитC1 2 3 4 5 6 7 8 9 10 11 12 #include #include void main () {int i, b, c, n, f; char a[10]; printf("\n vvedite slovo"); for(i=0;i<=n;i++); scanf("%s", &a[i]); n=0; c=1; if ((a[i]=='o')||(a[i]=='m')||(a[i]=='k')) n=n+1; printf("\n %s n=", a[i]); }

  1. Должно определять кол-во букв в слове d c k Подскажите ошибку пожалуйстаC1 2 3 4 5 6 7 8 9 10 11 12 13 #include #include void main () { int i, b, c, n, f; char a[i]; printf("/n slovo: "); scanf("%f",&f); n=0; c=1; if ((a[i]=='d')||(a[i]=='c')||(a[i]=='k')) n=n+1; printf("\n %s n=", n); }