Перевести код С++ в С (вывести дни недели) - C (СИ)
Формулировка задачи:
Помогите перевести код в Си
#include "StdAfx.h"
#include <iostream>
#include <string>
using namespace std;
int Date( int D, int M, int Y )
{
int a, y, m, R;
a = ( 14 - M ) / 12;
y = Y - a;
m = M + 12 * a - 2;
R = 7000 + ( D + y + y / 4 - y / 100 + y / 400 + (31 * m) / 12 );
return R % 7;
}
int main()
{
int D, M, Y;
char C;
string S[7] = { "SUN", "MON", "TUS", "WED", "THU", "FRI", "SAT" };
cin >> D >> C >> M >> C >> Y;
cout << S[ Date( D, M, Y ) ] << endl;
system("pause");
return 0;
}Решение задачи: «Перевести код С++ в С (вывести дни недели)»
textual
Листинг программы
// cin >> D >> C >> M >> C >> Y; fscanf(stdin, "%d %d %d", &D, &M, &Y);
Объяснение кода листинга программы
- Ввод данных с помощью функции
fscanffscanf(stdin,%d %d %d, &D, &M, &Y);
- Переменные для хранения введенных данных
D- день недели (1-7)M- номер месяца (1-12)Y- год (0-99)
- Вывод дня недели на экран с помощью функции
printfprintf(%s\n, days[D]);
- Временная переменная для хранения дня недели
char days[] = {Sun,Mon,Tue,Wed,Thu,Fri,Sat};