第11周 oj for循环画三角形

博客介绍了如何使用for循环在oj上实现画三角形的问题,强调了中间空格数为1 3 5而非2 4 6的易错点,并总结了函数应用和循环控制的知识点。
摘要由CSDN通过智能技术生成

问题及代码:

/*Copyright(c)2016,烟台大学计算机学院
all rights reserved.
作者:曹欣宇
完成日期:2016年11月11日


题目描述
前几天,老师让良哥做一个画空心三角形的程序来取悦小师妹,可把良哥愁死了,C语言基础学得再扎实,算法不精也是硬伤呀!于是良哥又写好了主程序来找机前的你帮忙了^_^
输入
  输入一个数字 例如 5
输出
        *
       * *
      *   *
     *     *
    *********

输出如上图形

样例输入
  5
样例输出
    *
   * *
  *   *
 *     *
*********
*/
#include <stdio.h>
void holl_triangle(int n); /*函数声明*/
int main()
{
    int n;
    scanf("%d",&n); /*输入行数n*/
    holl_triangle(n); /*调用输入n行的空心三角形的函数*/
    return 0;
}void holl_triangle(int n)
{
int i,j;
    for(j=1; j<=n-1; j++)
        printf(" ");
    printf("*\n");
    for(i=2; i<=n-1; i++)
    {
        for(j=1; j<=n-i; j++)
            printf(" ");
        printf("*");
        for(j=1; j<=2*i-3; j++)
            printf(" ");
        printf("*\n
oj(Online Judge,在线编程平台)上,求解三角形面积的问题通常是一个基础的数学计算题目,涉及到程序设计中的基本算法。如果你需要编写一个程序来解决这个问题,你可以按照以下步骤: 1. **输入**:首先,你需要从用户或标准输入接收三个边长值,这通常是a、b、c三条边,其中任意两边之和大于第三边,满足三角形的条件。 ```python a = float(input("请输入三角形第一条边长:")) b = float(input("请输入三角形第二条边长:")) c = float(input("请输入三角形第三条边长:")) ``` 2. **判断是否构成三角形**:检查输入的三边能否构成有效的三角形,如果不是,则返回错误信息。 ```python if a + b > c and a + c > b and b + c > a: # 继续计算 else: print("无法构成三角形") exit() ``` 3. **计算面积**:对于直角三角形,可以使用海伦公式(Heron's formula)或者两个较小边相乘除以2来求面积;对于非直角三角形,可以使用毕达哥拉斯定理(勾股定理)来找出斜边,然后再用面积公式A = (p * p - a * a - b * b) / 4(其中p为半长,即(p = (a+b+c)/2)。 ```python # 使用海伦公式 s = (a + b + c) / 2 area = (s*(s-a)*(s-b)*(s-c)) ** 0.5 # 或者使用毕氏定理 import math if math.sqrt(a**2 + b**2) == c: # 判断是否为直角三角形 area = 0.5 * a * b else: area = 0.5 * a * c # 斜边为c ``` 4. **输出结果**:将计算出的面积打印出来。 ```python print("三角形的面积是:", round(area, 2)) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值