1.输入三角形的三边求三角形的面积(顺序结构)。
1.程序代码:
#includestdio.h
#includemath.h
intmain()
{
floata,b,c,s;
doublearea;
scanf("%f%f%f",a,b,c);
s=(a+b+c)/2.0;
printf("a=%.6fb=%.6fc=%.6f\n",a,b,c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("area=%.6f\n",area);
return0;
}
运行结果:
a=3.b=4.c=5.
area=6.
--------------------------------
Processexitedafter12.06secondswithreturnvalue0
请按任意键继续...
2.输入一个四位数的整数,逆序输出其个、十、百、千位(顺序结构,算术运算)
2.程序代码:
#includestdio.h
intmain(){
intx,b0,b1,b2,b3;
scanf("%d",x);
b0=x%10;
x=x/10;
b1=x%10;
x=x/10;
b2=x%10;
x=x/10;
b3=x%10;
printf("%d,%d,%d,%d\n",b0,b1,b2,b3);
return0;
}
运行结果:
4,3,2,1
--------------------------------
Processexitedafter4.18secondswithreturnvalue0
请按任意键继续...
3.请输入一元二次方程的3个系数,求解该一元二次方程,包含:复数解,实解的情况。
3.程序代码:
#includestdio.h
#includemath.h
intmain()
{
doublea,b,c,d,e,p,q;
doublex1,x2;
scanf("%lf%lf%lf",a,b,c);
if(a==0)
{
if(b==0)
{
printf("无解\n");
}
else
{
printf("x=%.2lf\n",-c/b);
}
}
else
{
d=b*b-4*a*c;
if(d==0)
{
x1=x2=-b/(2*a);
printf("x1=x2=%.2lf\n",x1,x2);
}
elseif(d0)
{
e=sqrt(d);
x1=(-b+e)/(2*a);
x2=(-b-e)/(2*a);
printf("x1=%.2lf\n",x1);
printf("x2=%.2lf\n",x2);
}
else
{
p=-b/(2*a);
q=sqrt(-d)/(2*a);
printf("x1=%.2lf+%.2lfi\n",p,q);
printf("x2=%.2lf-%.2lfi\n",p,q);
}
}
return0;
}
运行结果:
1-53
x1=4.30
x2=0.70
--------------------------------
Processexitedafter6.secondswithreturnvalue0
请按任意键继续...
4.输入三角形三条边,是三角形的话,判断是什么三角形(等边,等腰,普通),然后计算三角形周长和面积。
4.程序代码:
#includestdio.h
#includemath.h
intmain()
{
floata,b,c;
scanf("%f%f%f",a,b,c);
if(a+bcb+caa+cb)
{
if(a==ba==c)
printf("等边三角形\n");
elseif(a==b
a==c
b==c)
printf("等腰三角形\n");
elseif((a*a+b*b==c*c)
(a*a+c*c==b*b)
(b*b+c*c==a*a))
printf("直角三角形\n");
else
printf("普通三角形\n");
}
else
printf("不构成三角形\n");
return0;
}
运行结果
等边三角形
--------------------------------
Processexitedafter4.secondswithreturnvalue0
请按任意键继续...
5.用switch语句实现输入某年某月某日,判断这一天是这一年的第几天。
5.程序代码:
#includestdio.h
intmain()
{
intday,month,year,num=0,leap;
scanf("%d%d%d",year,month,day);
/*****先计算某月以前月份的总天数*****/
/**********Begin**********/
switch(month)
{
case12:num+=30;
case11:num+=31;
case10:num+=30;
case9:num+=31;
case8:num+=31;
case7:num+=30;
case6:num+=31;
case5:num+=30;
case4:num+=31;
case3:num+=28;
case2:num+=31;
}
/**********End**********/
/*****再加上当月的天数*****/
num+=day;
/*****判断是不是闰年*****/
/**********Begin**********/
if(year%4==0year%!=0
year%==0)
leap=1;
else
leap=0;
/**********End**********/
/*****如果是闰年且月份大于2,总天数应该加一天*****/
/**********Begin**********/
if(month2)
num+=leap;
/**********End**********/
printf("这一天是这一年的第%d天",num);
return0;
}
运行结果
这一天是这一年的第天
--------------------------------
Processexitedafter9.secondswithreturnvalue0
请按任意键继续...
6.用switch语句实现输入一个不多余5位的正整数,要求①求出它是几位数②分别输出每一位数字③按逆序输出各位数字
6.程序代码:
#includestdio.h
#includemath.h
intmain()
{
intnum,y,x1,x2,x3,x4,x5,place;
scanf("%d",num);
place=log10((double)num)+1;//
/**********Begin**********/
printf("%d为%d位数\n",num,place);
y=num;
x1=y%10;
y=y/10;
x2=y%10;
y=y/10;
x3=y%10;
y=y/10;
x4=y%10;
y=y/10;
x5=y%10;
printf("顺序输出为:");
switch(place)
{
case5:printf("%d,",x5);
case4:printf("%d,",x4);
case3:printf("%d,",x3);
case2:printf("%d,",x2);
case1:printf("%d\n",x1);
}
printf("逆序输出为:");
switch(place)
{
case5:printf("%d,%d,%d,%d,%d\n",x1,x2,x3,x4,x5);
break;
case4:printf("%d,%d,%d,%d",x1,x2,x3,x4);
break;
case3:printf("%d,%d,%d",x1,x2,x3);
break;
case2:printf("%d,%d",x1,x2);
break;
case1:printf("%d",x1);
}
/**********End**********/
return0;
}
运行结果
为4位数
顺序输出为:1,2,3,4
逆序输出为:4,3,2,1
--------------------------------
Processexitedafter25.32secondswithreturnvalue0
请按任意键继续...