Перевести код из С++ в Си - C (СИ) (69492)
Формулировка задачи:
Перевести код из С++ в Си. Заранее спасибо!
Листинг программы
- #include "stdafx.h"
- #include "iostream"
- #include "cstring"
- #include "cstdlib"
- using namespace std;
- int main(){
- cout<<"Input text : ";
- char* s = new char[1000];
- cin.getline(s,1000);
- for (int i=0; i<strlen(s); i++)
- if (isupper(s[i]))
- {
- while (isupper(s[i]))
- cout<<s[i++];
- cout<<'\t';
- }
- cout << endl;
- delete []s;
- system("pause");
- return 0;
- }
Решение задачи: «Перевести код из С++ в Си»
textual
Листинг программы
- #include <stdio.h>
- #include <string.h>
- #include <stdlib.h>
- #include <ctype.h>
- int main()
- {
- puts("Input text : ");
- char* s = malloc(1000);
- gets(s);
- for (int i=0; i<strlen(s); i++)
- if (isupper(s[i]))
- {
- while (isupper(s[i]))
- printf("%c", s[i++]);
- puts("\t");
- }
- puts("\n");
- free(s);
- system("pause"); //
- return 0;
- }
Объяснение кода листинга программы
Приветствую! Вот список действий, которые выполняются в данном коде:
- Ввод текста с помощью функции
gets()
. - Выделение памяти под строку с помощью функции
malloc()
. - Прохождение по каждому символу в строке с помощью цикла
for
. - Проверка, является ли текущий символ заглавной буквой, с помощью функции
isupper()
. - Если символ является заглавной буквой, то его вывод на экран с помощью функции
printf()
. - Переход к следующему символу в цикле
for
. - После вывода всех заглавных букв выводится символ табуляции
\t
. - Вывод символа новой строки
\n
. - Освобождение памяти с помощью функции
free()
. - Ожидание нажатия клавиши с помощью функции
system(
pause)
. - Возврат 0, что означает успешное завершение программы. Надеюсь, это помогло! Если у вас есть еще вопросы, не стесняйтесь задавать.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д