*\
烟台大学计算机与控制工程学院
All rights reserved.
作者:汪莹莉
完成日期:2016年11月14日
问题描述:
前几天,老师让良哥做一个画空心三角形的程序来取悦小师妹,可把良哥愁死了,
C语言基础学得再扎实,算法不精也是硬伤呀!于是良哥又写好了主程序来找机
前的你帮忙了^_^
所给主程序:
#include <stdio.h>
void holl_triangle(int n); /*函数声明*/
int main()
{
int n;
scanf("%d",&n); /*输入行数n*/
holl_triangle(n); /*调用输入n行的空心三角形的函数*/
return 0;
}
主程序已给出,请完成holl_triangle函数并提交
输入
输入一个数字 例如 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(i=1; i<=n-1; i++)
//输出第一行
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");
}
for(i=1; i<=2*n-1; i++)
printf("*");
printf("\n");
}
运行结果:
知识点总结:函数调用,步骤·:此题目的规律是从第二行开始的,所以先完整的输出第一行,从第二行开始,先输出每一行之前的空格,紧接着输出每一行开始的星号,通过2、3、4行中间的空格可得2*i-3的规律,输出空格之后再输出最后的星号。最后一行也是单独输出。
学习心得:函数调用加强思维逻辑