Q1.三角形面积
平面上有一个三角形,它的三个顶点坐标分别为(x1,y1),(x2,y2),(x3,y3),那么请问这个三角形的面积是多少,精确到小数点后两位。
这个任务看上去很麻烦,本质上就是根据题目中的描述一步一步转化成代码即可,全程需要很细心。

//求得每条边长,要搞懂如何根据两点的坐标求两点之间线段长度,自己用坐标图画一画,回忆一下老师的讲解
a=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)); //a、b、c分别表示三条边长,sqrt()函数属于<cmath>库
b=sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1));
c=sqrt((x2-x3)*(x2-x3)+(y2-y3)*(y2-y3));
p=(a+b+c)/2.0; //根据边长,求半周长p,照搬上面题目中的公式
area=sqrt(p*(p-a)*(p-b)*(p-c)); //根据上面S的计算方法求面积,照搬上面题目中的公式
Q2.等差数列末项计算
给出一个等差数列的前两项a1,a2,求第n项是多少。
这是一道数学题:
公差=第2项-第1项
末项=首项+公差×(项数-1)
所以第n项=a1+(a2-a1)*(n-1)
Q3.A×B问题
输入两个正整数A和B,求A×B的值。注意乘积的范围和数据类型的选择。
unsigned int 0~4294967295
int -2147483648~2147483647
unsigned long 0~4294967295
long 2147483648~2147483647
long long的最大值:9223372036854775807 long long的最小值:-9223372036854775808
unsigned long long的最大值:18446744073709551615
注意输入和输出的数据类型,这个题目我们可以定义为long long类型,确保计算处理的数据范围更大。
long long a,b; //声明a,b为long long类型
scanf("%lld%lld",&a,&b); //占位符是%lld
printf("%lld",a*b);
尝试输入两个10位数来相乘,看看结果是什么?想一想为什么出现这样的结果?
Q4.计算2的幂
给定非负整数n,求2n的值,即2的n次方。
printf("%.0lf",pow(2,n)); //pow()函数属于<cmath>库,返回的结果是double数据,输出的2的n次数都是整数
如果输入的n较大,看看结果是什么?想一想为什么出现这样的结果?
Q5.计算得分
总成绩计算方法是:总成绩=作业成绩X20%+小测成绩X30%+期末考试成绩X50%。
即总成绩=a * 0.2 + b * 0.3 + c * 0.5 //a表示作业成绩,b表示小测成绩,c表示期末成绩