Я новичок в программировании c, и я получил задание не так давно и закончил делать достаточно хорошо (очки были сняты, чтобы не использовать цикл for). Вот что из моего задания. «Напишите программу, которая запрашивает у пользователя радиус аналоговых часов, а затем печатает координаты x и y 12-часовых меток для этих часов. Можно предположить, что начало координат для осей x и y находится в центре часы "Координаты часов
Я был смущен тем, как использовать цикл for, потому что я пытался выяснить, как это сделать. Я знаю это легко, но я борюсь с мелочами. Это привело к копированию кода, что привело к огромному количеству кода. Мне было интересно, могу ли я получить какие-либо подсказки о том, как сделать эту программу с циклом for, а не писать весь этот код. Вот мой код, но я не буду отображать его все, потому что нет точки. (Также интересно, нужны ли мне массивы? Сообщите мне это тоже, извините за странный формат, я не понял, как сделать код смешением).
int main() {
float x [12];
float y [12];
float rad;
int i, theta = 0;
printf("Enter the radius of the clock\n");
scanf("%f", &rad);
x[0] = rad * cos(90*M_PI/180);
y[0] = rad * sin(90*M_PI/180);
x[1] = rad * cos(60*M_PI/180);
y[1] = rad * sin (60*M_PI/180);
x[2] = rad * cos (30*M_PI/180);
y[2] = rad * sin (30*M_PI/180);
x[3] = rad * cos (0 * M_PI/180);
y[3] = rad * sin (0* M_PI/180);
x[4]= rad * cos (330*M_PI/180);
y[4]= rad * sin (330*M_PI/180);
x[5] = rad * cos (300*M_PI/180);
y[5] = rad * sin (300*M_PI/180);
x[6] = rad * cos (270*M_PI/180);
y[6] = rad * sin (270*M_PI/180);
x[7] = rad * cos (240*M_PI/180);
y[7] = rad * sin (240*M_PI/180);
x[8] = rad * cos (210*M_PI/180);
y[8] = rad * sin (210*M_PI/180);
x[9] = rad * cos (180*M_PI/180);
y[9] = rad * sin (180*M_PI/180);
x[10] = rad * cos (150*M_PI/180);
y[10] = rad * sin (150*M_PI/180);
x[11] = rad * cos (120*M_PI/180);
y[11] = rad * sin (120*M_PI/180);
printf("The x and y coordinates of the 12 o'clock mark are (%f , %f)\n", x[0], y[0]);
Я использую инструкцию printf для всех 12 массивов.
Выход должен выглядеть так: «Координаты x и y метки 12 часов (0,000000, 1.000000) и изменяются в зависимости от радиуса». Спасибо!
Я думаю, что ваш вопрос: «Как я должен был изменить это, чтобы использовать цикл' for'? »? Это ваш вопрос? Если да, пожалуйста, уточните. –
Да. Как изменить код на цикл for? – SoonPro
У вас есть круг на 360 градусов. Вы хотите получить 12 координат по диаметру этого круга с эквидистантным интервалом. Итак, как бы петля, вероятно, выглядела одинаково? Извините, это очень простой материал, вычитание очков было более чем исправлено. Просто подсказка: как вы генерировали значения для кода, который вы показываете? (риторический вопрос) – Olaf