Помогите с решением СИ
#include <stdio.h>
#include <stdlib.h>
int main()
{
int d,c=5; /*объявление целых переменных*/
float a=5.0,b; /*объявление нецелых переменных */
printf("b = "); /*вывод в консоль текста */
scanf("%f", &b); /*ввод с клавитуры нецелого числа*/
printf("d = "); /*вывод в консоль текста*/
scanf("%d", &d); /*ввод целего числа с клавиатуры*/
a+=b-2; /*операция вычисления*/
printf("a = %f\n",a); /*вывод в консоль результата вычисления*/
d+=++c-a; /*операция вычисления*/
printf("d = %d\n", d); /*вывод в консоль результата вычисления*/
a*=c--; /*операция вычисления*/
printf("a = %f\n",a ); /*вывод в консоль результата вычисления*/
d *= (c = c/2) + --b + (a = a/10); /*операция вычисления*/
printf("d = (%d/2) + %f - 1 + (%f/10)\n", c, b, a); /*вывод в консоль результата вычисления*/
printf("RES = %f, %f, %d, %d\n", a,b,c,d); /*вывод в консоль окончательного результата вычисления*/
return 0; /*вывод в консоль кода "0", который означает успешное завершение программы*/
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Нет, не совсем так. Например, вы пишете
printf("d = (%d/2) + %f - 1 + (%f/10)....
Но ведь к этому моменту значения c или там a совсем не те, которые вы делите пополам или на 10.
Да и не просят от вас этого, а просят выводить просто значения всех переменных, и почаще.
Т.е. я бы делал вот так как-то:
#include <stdio.h>
int main()
{
int c = 5, d;
float a = 5, b;
printf("float b = ");
scanf("%f",&b);
printf("int d = ");
scanf("%d",&d);
printf("a = %7.2f, b = %7.2f, c = %3d, d = %3d\n",a,b,c,d);
a += b-2;
printf("a = %7.2f, b = %7.2f, c = %3d, d = %3d\n",a,b,c,d);
d += ++c - a;
printf("a = %7.2f, b = %7.2f, c = %3d, d = %3d\n",a,b,c,d);
a *= c--;
printf("a = %7.2f, b = %7.2f, c = %3d, d = %3d\n",a,b,c,d);
d *= (c/=2) + (b-=1) + (a/=10);
printf("a = %7.2f, b = %7.2f, c = %3d, d = %3d\n",a,b,c,d);
}
