無題
Posted: 2010年11月11日(木) 13:08
画像のようにコンパイルしたいのですが、
キーボードからctrl+zが入力されるまで連続して係数を入力して解を求められるようにしなさい。と課題がついているので、どうやったらできるか教えてください!
申し訳ないのですが、明日が提出なので解答お願いいたします。
#include <stdio.h>
#include <math.h>
int main(void)
{
int a,b,c,type=0;
double d,answer[2];
puts("二次方程式 a*x*x + b*x + c = 0 を解きます。(a!=0)");
printf("係数a,b,cを入力してください:"); scanf("%d %d %d",&a,&b,&c);
d = b*b-4*a*c;
if (d < 0){
type++;
d *=-1;
}
if (d == 0){
type += 2;
}
switch(type){
case 0:
d = sqrt(d);
answer[0] = (double) (-1*b+d)/(2*a);
answer[1] = (double) (-1*b-d)/(2*a);
printf("異なる2つの実根 \n");
printf(" %lf \n",answer[0]);
printf(" %lf \n",answer[1]);
break;
case 1:
answer[0] = (double) (-1*b)/(2*a);
answer[1] = (double) sqrt(d)/(2*a);
printf("異なる2つの虚根 \n");
printf(" 実部 %lf \n",answer[0]);
printf(" 嘘部 %lf \n",answer[1]);
break;
case 2:
answer[0] = (-1*b)/(2*a);
printf("重根 \n");
printf(" %lf \n",answer[0]);
break;
}
return(0);
}
キーボードからctrl+zが入力されるまで連続して係数を入力して解を求められるようにしなさい。と課題がついているので、どうやったらできるか教えてください!
申し訳ないのですが、明日が提出なので解答お願いいたします。
#include <stdio.h>
#include <math.h>
int main(void)
{
int a,b,c,type=0;
double d,answer[2];
puts("二次方程式 a*x*x + b*x + c = 0 を解きます。(a!=0)");
printf("係数a,b,cを入力してください:"); scanf("%d %d %d",&a,&b,&c);
d = b*b-4*a*c;
if (d < 0){
type++;
d *=-1;
}
if (d == 0){
type += 2;
}
switch(type){
case 0:
d = sqrt(d);
answer[0] = (double) (-1*b+d)/(2*a);
answer[1] = (double) (-1*b-d)/(2*a);
printf("異なる2つの実根 \n");
printf(" %lf \n",answer[0]);
printf(" %lf \n",answer[1]);
break;
case 1:
answer[0] = (double) (-1*b)/(2*a);
answer[1] = (double) sqrt(d)/(2*a);
printf("異なる2つの虚根 \n");
printf(" 実部 %lf \n",answer[0]);
printf(" 嘘部 %lf \n",answer[1]);
break;
case 2:
answer[0] = (-1*b)/(2*a);
printf("重根 \n");
printf(" %lf \n",answer[0]);
break;
}
return(0);
}