Перевести код из С++ в Си - 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, что означает успешное завершение программы. Надеюсь, это помогло! Если у вас есть еще вопросы, не стесняйтесь задавать.