用C语言输出一个菱形
2018-03-12 20:07
483 查看
相信大家都见到过这种题目,以下分享我个人的做法,希望大家能有所建议或者能帮助到大家。
看到题目肯定是需要观察的,首先算出空格以及星号的规律,把菱形分为上下两部分打印。
上半部分规律:星号数目是行数的二倍减一,空格数是上半部分总行数减去它所在的行号;
下半部分规律:从下半部分开始算起,每行星号数是2*(line-1-i)-1,空格数目为它的行号加一。#define _CRT_SECURE_NO_WARNINGS 1
//输出菱形
#include <stdio.h>
int main()
{
int i = 0;
int j = 0;
int line = 0;
int n = 0;
printf("菱形上半部分行数为:");
scanf("%d",&line);
//上半部分
for (i = 0; i < line; i++)
{
for (n = 0; n < line - 1 - i;n++)
{
printf(" ");
}
for (j = 0; j < 2 * i + 1; j++)
{
printf("*");
}
printf("\n");
}
//下半部分
for (i = 0; i < line - 1; i++)
{
for (n = 0; n < i + 1; n++)
{
printf(" ");
}
for (j = 0; j < 2 * (line - 1 - i) - 1; j++)
{
printf("*");
}
printf("\n");
}
getchar();
return 0;
}
看到题目肯定是需要观察的,首先算出空格以及星号的规律,把菱形分为上下两部分打印。
上半部分规律:星号数目是行数的二倍减一,空格数是上半部分总行数减去它所在的行号;
下半部分规律:从下半部分开始算起,每行星号数是2*(line-1-i)-1,空格数目为它的行号加一。#define _CRT_SECURE_NO_WARNINGS 1
//输出菱形
#include <stdio.h>
int main()
{
int i = 0;
int j = 0;
int line = 0;
int n = 0;
printf("菱形上半部分行数为:");
scanf("%d",&line);
//上半部分
for (i = 0; i < line; i++)
{
for (n = 0; n < line - 1 - i;n++)
{
printf(" ");
}
for (j = 0; j < 2 * i + 1; j++)
{
printf("*");
}
printf("\n");
}
//下半部分
for (i = 0; i < line - 1; i++)
{
for (n = 0; n < i + 1; n++)
{
printf(" ");
}
for (j = 0; j < 2 * (line - 1 - i) - 1; j++)
{
printf("*");
}
printf("\n");
}
getchar();
return 0;
}
相关文章推荐
- 用C语言输出一个菱形
- 【C语言】使用递归的整数输出(高位到低位)/输出一个菱形(能够确定行数)
- c语言:输出一个菱形图
- 练习题009:C语言输出打印一个菱形
- C语言输出一个菱形图案
- c语言:输出一个菱形图
- c语言如何输出一个菱形
- 【C语言】使用递归的整数输出(高位到低位)/输出一个菱形(能够确定行数)
- 使用C语言输出一个边长为7的菱形!
- 用C语言输出一个菱形
- 用c语言输出菱形(13行)
- c语言: 键盘输入一个n个字符的串,然后按字母表顺序输出这n个字符
- 【C语言】输出菱形星号图案
- 【c语言】 输出一个整数的每一位
- C语言输入一个数,倒序输出
- c语言:有一函数:当x<0,y=-1;x=0,y=0;x>0,y=1;编一程序,输入一个x值,要求输出相应的y值。
- 输出一个菱形图案
- 【C语言】编写一个程序,从标准输入读取几行输入。每行输入都要打印到标准输出上,前面加上行号。编写这个程序的时候要使这个程序能够处理的输入行的长度没有限制。
- 运用循环输出一个空心的菱形
- C语言 输出一个数组中,所有元素之和为0的子序列