Перевод задач из с++ в си - C (СИ)
Формулировка задачи:
Напишите программный код перевода задачи из с++ в си)
#include <iostream>
#include <clocale>
#include <math.h>
#include <stdio.h>
#include <cstdlib>
#include <cmath>
#include <locale>
using namespace std;
int main()
{
setlocale(LC_ALL, "Russian" );
const double e=2.3; //îáúÿâëåГ*ГЁГҐ ïåðåìåГ*Г*îé ГҐ
double a=1.5,e1,e2,e3,x; //îáúÿâëåГ*ГЁГҐ ïåðåìåГ*Г*ûõ
cout << "Vvedi x" << endl; //ââîä Г¤Г*Г*Г*ûõ
cin >>x;
if(x<0.3){ //ïðîâåðêГ* óñëîâèÿ //åñëè
e1=pow(e,sin(x));
cout<<"x="<<x<<" S="<<a*e1+2.5<<endl; //âûâîä
}
else if(x==0.3) { //ГЁГ*Г*Г·ГҐ åñëè
e2=pow(e,cos(x));
cout<<"x="<<x<<" S="<<e2+a<<endl; //âûâîä
}
else { //ГЁГ*Г*Г·ГҐ
e3=pow(e,x);
cout<<"x="<<x<<" S="<<sin(x)/a+e3<<endl; //âûâîä
}
system("PAUSE");
return 0;
}Решение задачи: «Перевод задач из с++ в си»
textual
Листинг программы
#include <locale.h>
#include <math.h>
#include <stdio.h>
int main()
{
const double e=2.3;
double a=1.5,e1,e2,e3,x;
setlocale(LC_ALL, "Russian" );
printf("Vvedi x\n");
scanf("%lf",&x);
if(x<0.3)
{
e1=pow(e,sin(x));
printf("x=%lf S=%lf\n", x, a*e1+2.5);
}
else if(x==0.3)
{
e2=pow(e,cos(x));
printf("x=%lf S=%lf\n", x, e2+a);
}
else
{
e3=pow(e,x);
printf("x=%lf S=%lf\n", x, sin(x)/a+e3);
}
system("PAUSE");
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек:
для работы с локалью, для работы с математическими функциями, для работы с вводом/выводом. - Объявление переменных:
- const double e = 2.3; - константа e
- double a = 1.5; - переменная a
- double e1, e2, e3; - временные переменные для хранения результатов вычислений
- x - переменная для хранения значения, введенного пользователем.
- Установка локали на русскую.
- Вывод сообщения с просьбой ввести значение x.
- Считывание значения x с помощью функции scanf.
- Проверка значения x:
- если x < 0.3, то вычисление значения e1 как pow(e, sin(x)), и вывод сообщения с x и a*e1+2.5.
- если x = 0.3, то вычисление значения e2 как pow(e, cos(x)), и вывод сообщения с x и e2+a.
- в противном случае вычисление значения e3 как pow(e, x), и вывод сообщения с x и sin(x)/a+e3.
- Вызов system(
PAUSE) для приостановки выполнения программы до нажатия клавиши. - Возврат 0, означающий успешный конец работы программы.