Member 13074942 Ответов: 2

Пожалуйста, помогите мне отладить эти программы на языке Си


#include< stdio.h>
#include< math. h>
тап_п()
{
поплавок A, B,C;
поплавок D, E, F;
поплавок G, H, I;
поплавок J, K, L;
поплавок NR1,NR2,nr3 успешно,NR4,NR5,NR6,почтовый индекс nr7,NR8,NR9,NR10,NR11,NR12;
поплавок X, Y, Z;
printf ("введите элементы первой строки, разделенные запятой", A, B, C);
то scanf ("%F", которые&амп;а&амп;Б&амп;с);
printf ("введите элементы второй строки, разделенные запятой", D, E, F);
scanf ("%f",& D,& E,& F);
printf ("введите элементы третьей строки, разделенные запятой", G, H, I);
то scanf ("%F", которые&усилителя;г&амп;ч&я);
printf ("введите первое постоянное значение в первой строке", J);
scanf ("%f",& J);
printf ("введите второе постоянное значение во второй строке", K);
scanf ("%f",& K);
printf ("введите третье постоянное значение в третьей строке", L);
scanf ("%f",& L);
NR1 = (Д * В * Г);
NR2 = (D * B-A * E);
NR3 = (D * C-A * F);
NR4 = (D * J-A * K);
NR5 = (G * A - A * G);
NR6 = (G * B-A * H);
NR7 = (G * C-A * I);
NR8 = (G * J-A * L);
NR9 = (NR6 * NR1 - NR2 * NR6);
NR10 = (NR6 * NR2 - NR2 * NR6);
NR11 = (NR6 * NR3 - NR2 * NR7);
NR12 = (NR6 * NR4 - NR2 * NR8);
X = (J - ((C * Z) + (B * Y))) / A;
Y = (NR8 - (Z * NR7)) / NR6;
Z = (NR12 / NR11);
printf ("значение X=%d\n", X);
printf ("значение Y=%d\n", Y);
printf ("значение Z=%d\n", Z);
возвращает 0;
}

Что я уже пробовал:

#include<stdio.h>
#include<math.h>
int main()
{
 float A,B,C;
 float D,E,F;
 float G,H,I;
 float J,K,L;
 float NR1,NR2,NR3,NR4,NR5,NR6,NR7,NR8,NR9,NR10,NR11,NR12;
 float X,Y,Z;
printf( "ENTER THE FIRST ROW ELEMENTS SEPARATED BY COMMA", A, B, C);
scanf ("%f",&A,&B,&C);
printf("ENTER THE SECOND ROW ELEMENTS SEPARATED BY COMMA", D, E, F);
scanf ("%f",&D,&E,&F);
printf("ENTER THE THIRD ROW ELEMENTS SEPARATED BY COMMA", G, H, I);
scanf ("%f",&G,&H,&I);
printf ("ENTER THE FIRST CONSTANT VALUE ON THE FIRST ROW", J);
scanf ("%f",&J);
printf("ENTER THE SECOND CONSTANT VALUE ON THE SECOND ROW", K);
scanf("%f",&K);
printf("ENTER THE THIRD CONSTANT VALUE ON THE THIRD ROW", L);
scanf("%f",&L);
NR1 = (D * A - A * D);
NR2 = (D * B - A * E);
NR3 = (D * C - A * F);
NR4 = (D * J - A * K);
NR5 = (G * A - A * G);
NR6 = (G * B - A * H);
NR7 = (G * C - A * I);
NR8 = (G * J - A * L);
NR9 = (NR6 * NR1 - NR2 * NR6);
NR10 = (NR6 * NR2 - NR2 * NR6);
NR11 = (NR6 * NR3 - NR2 * NR7);
NR12 = (NR6 * NR4 - NR2 * NR8);
X = (J - ((C * Z) + (B * Y))) / A;
Y = (NR8 - (Z * NR7)) / NR6;
Z = (NR12 / NR11);
printf("THE VALUE OF X=%d\n", X);
printf("THE VALUE OF Y=%d\n", Y);
printf("THE VALUE OF Z=%d\n", Z);
return 0;
}

jeron1

Вы не задали ни одного вопроса и не дали никаких подробностей о проблеме.

Richard MacCutchan

Вы пытаетесь печатать типы с плавающей точкой с целочисленным кодом формата.

2 Ответов

Рейтинг:
2

Rick York

Спросите себя, почему вы использовали строку формата %f для извлечения данных с помощью scanf и %d для отображения их с помощью printf.

Почему вы ожидаете, что коды формата будут отличаться?


Рейтинг:
0

Patrice T

Цитата:
Пожалуйста, помогите мне отладить эти программы на языке Си

Мы не можем, вы просто забыли сказать нам, что должен делать код.

Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволяет вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения, это невероятный инструмент обучения.

Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Базовая отладка с помощью Visual Studio 2010-YouTube[^]

Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.