#include<stdio.h>
#include<math.h>
int main()
{
char sign1='-',sign2='-' ;
double x=-1,y=4,radius=9;
if(x<0.0)
{
sign1='+';
x=x*-1;
}
if(y<0.0) {
sign2='+';
y=y*-1;
}
printf("(x %c %.3lf)^2 + (y %c %.3lf)^2=%.3lf^2\n",x,sign1,y,sign2,radius);//here doesn't print the values of sign1 and sign2
printf("%c %c\n",sign1,sign2);//here prints properly;
return 0;
}
私のコードでは、最初のprintf
関数が正しく動作しません。印刷する必要があります(x + 1.000)^2 + (y - 4.000)^2 = 9.000^2
が、得られる出力は
(x 0.000)^2 + (y 0.000)^2 = 9.000^2
なんで?