1.输入三角形的边长,求面积假设在平面内,有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:S=Vp(p-a)(p-b)(p-c)开平方: sqrt( ) #include <math.h> gcc 1.c -lm,而公式里的p为半周长(周长的一半): p=(a+b+c)/2。
#include <stdio.h>
#include <math.h>
int main(int argc, char const *argv[])
{
float a = 0, b = 0, c = 0, s = 0;
printf("请输入三角形的边长:");
scanf("%f%f%f", &a, &b, &c);
if(a + b > c && a + c > b && b + c > a)
{
float p = (a + b + c)/2.0;
s = sqrt(p * (p - a)*(p - b)*(p - c));
printf("三角形面积是%f\n", s);
}
else
{
printf("输入的三边不能组成三角形!!!\n");
}
return 0;
}
2.计算车费。3公里以内(包含3公里)起步价13元。超出3公里,每公里2.3元。
#include <stdio.h>
int main(int argc, char const *argv[])
{
float s = 0.0, money = 0.0;
again:
printf("请输入行驶距离:");
scanf("%f", &s);
if(s >= 0 && s <= 3)
{
money = 13;
}
else if( s > 3)
{
money = 13 + (s - 3)*2.3;
}
if(s < 0)
{
printf("输入有误,请重新输入\n");
goto again;
}
printf("行驶%f公里的车费为%f。\n", s, money);
return 0;
}
3.执行语句"k =11 >>1"后,变量k的当前值: 5
4.有一个变量unsigned char data;
a.请写出将data第6位置1的表达式:data = data | (0x01<<6)
b.请写出将data第6位清0的表达式:data = data & (~(0x01<<6))
c.请写出将data第6位取反的表达式:data = data ^ (0x01<<6)
说明:最右边位为第0位,用十六进制表示