- 关于C语言由于新接触C语言,很多简单的题都不会大家帮帮忙啊.有两
- 由于新接触C,很多简单的题都不会
大家帮帮忙啊.
有两个题:1用IF...ELSE结构写一个程序,求AX*X+BX+C=0的根.
2:用SWITCH...CASE结构片写一个程序,输入1~12月后,输出该月的英文名.
拜托了!
- 第一题如果考虑全面一些要注意各种情况的判断
#include
#include
int main()
{
float a, b, c;
float disc, t;
printf( "请输入A的值:");
scanf( "%f", &a );
printf( "请输入B的值:");
scanf( "%f", &b );
printf( "请输入C的值:");
scanf( "%f", &c );
printf( "您所求的方程为:%fX*X + %fX + %f = 0的根\n", a, b, c );
if ( a == 0.0 )//处理特例
{
if ( b == 0.0 )//处理特例
{
if ( c == 0.0 )//处理特例
printf("所求方程的根为任意实数\n");
else
printf("所求方程无解\n");
}
else
{
printf( "所求方程有唯一解:%f\n", c/b );
}
}
else
{//一元二次方程
disc = b * b - 4 * a * c;
t = (-b)/(2*a);
if ( disc > 0 )//二个不相等的实根
{
printf("所求方程的两个实根为:x1=%f, x2=%f\n", t+(sqrt(disc)/(2*a)), t-(sqrt(disc)/(2*a)) );
}
else if ( disc < 0 )
{
printf( "所求方程的两个虚根为:x1=%f+%fi, x2=%f-%fi\n",t,(sqrt(-disc)/(2*a)), t, (sqrt(-disc)/(2*a)) );
}
else
{
printf( "所求方程有两个相等的实根:x1=x2=%f\n", t);
}
}
return 0;
}
第二题如下:
int main()
{
int month;
printf("请输入月份值(1-12):");
scanf( "%d", &month );
switch( month )
{
case 1:
printf("January\n");
break;
case 2:
printf("February\n");
break;
case 3:
printf("March\n");
break;
case 4:
printf("April\n");
break;
case 5:
printf("May\n");
break;
case 6:
printf("June\n");
break;
case 7:
printf("July\n");
break;
case 8:
printf("August\n");
break;
case 9:
printf("September\n");
break;
case 10:
printf("October\n");
break;
case 11:
printf("November\n");
break;
case 12:
printf("December\n");
break;
default:
printf("非法数值,月份应该在1-12之间\n");
break;
}
return 0;
}
都不是很难的题目,建议多做一些练习题来熟悉这些常用的语法