//1.空心菱形
运行结果:
代码实现:
int line = 0, m = 0;
printf("请输入行数:\n");
scanf("%d", &line);
m = (line + 1) / 2;
//上半部分
for(int i =1; i <= m; i++) //控制行数
{
for(int k =0; k < m - i; k++)//控制空格数
{
printf(" ");
}
printf("*");
if(i == 1){
printf("\n");//换行
continue;//结束本次部分循环,继续执行下一层循环继续 i++
}
for(int j =0; j < 2 * i - 3 ; j++)
{
printf(" ");
}
printf("*");
printf("\n");
}
//下半部分
for(int i = m -1; i > 0; i--)//控制行数
{
for(int k =0; k < m-i; k++)//控制每行的空格数
{
printf(" ");
}
printf("*");
if(i == 1){
printf("\n");
continue;//结束本次部分循环,继续执行下一层循环继续 i--
}
for(int j =0; j < 2 * i - 3; j++)
{
printf(" ");
}
printf("*");
printf("\n");
}
//2.打印Z型
运行结果:
代码实现:
int n = 0;
printf("Please enter n:\n");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n; j++) {
if (j == n - i + 1 || i == 1 || i == n) {
printf("*");
}else
printf(" ");
}
printf("\n");
}
//3.打印X型
运行结果:
代码实现:
分析:此题与上题的区别在于打印'*'号的位置不同,编程时要找出应打印'*'号的位置和两个循环变量i、j以及行数n的关系
int n = 0;
printf("Please Enter n:\n");
scanf("%d", &n);
for(int i = 1;i <= n;i++){/*输出图形的上半部分(含中心行) */
for(int j = 1;j <= 2 * n - i - 1;j++){
if(j == i){
printf("*");
}else{
printf(" ");
}
}
printf("*\n");
}
for(int i = 1;i < n;i++){/*输出图形的下半部分(不含中心行)*/
for(int j = 1;j <= n + i;j++){
if(j == n - i){
printf("*");
}else
printf(" ");
}
printf("*\n");
}
4.打印空心等腰梯形
运行结果:
代码实现:
int n = 0;
printf("Please Enter n:\n");
scanf("%d", &n);
for(int i = 1;i <= n;i++){
for(int j = 1;j <= 2 * n + i - 3;j++){
if(j == n - i + 1 || (j > n - i + 1 && (i == 1 || i == n))){
printf("*");
}else{
printf(" ");
}
}
printf("*\n");
}
5.打印实心等腰梯形
运行结果:
代码实现:
int n = 0;
printf("Please Enter n:\n");
scanf("%d", &n);
for(int i = 1;i <= n;i++) {
for(int j = 1;j <= n-i;j++) {
printf(" ");
}
for(int j = 1;j <= 2 * i - 1 + (n - 1);j++){
printf("*");
}
printf("\n");
}
6.输出倒三角形
运行结果:
代码实现:
int n = 0;
printf("Please Enter n:\n");
scanf("%d", &n);
for(int i = 1;i <= n;i++)/*重复输出图形的n行*/
{
for(int j = 1;j <= 2 * n - i;j++)/*重复输出图形一行中的每个符*/
{ if(j <= i-1){
printf(" ");/*输出前面的空格*/
}
else
printf("*");/*输出后面的*号*/
}
printf("\n");
}
//7.打印平行四边形
运行结果:
代码实现:
int n = 0;
printf("Please Enter n:\n");
scanf("%d", &n);
for(int i = 1;i <= n;i++) {
for (int j =1; j <= n - i; j++) {
printf(" ");
}
for (int j = 1; j <= n; j++) {
printf("*");
}
printf("\n");
}
//8.输出矩形
运行结果:
代码实现:
int n = 0;
printf("Please Enter n:\n");
scanf("%d", &n);
for(int i = 1;i <= n;i++) {//打印行数
for(int j = 1;j <= n;j++) {//打印列数
printf("*");
}
printf("\n");
}
//9.打印等腰三角形
运行结果:
代码实现
int n = 0;
printf("Please Enter n:\n");
scanf("%d", &n);
for (int i = 1; i <= n; i++)//控制输入的行数
{
for (int k = 1; k <= n - i; k++)//控制空格的输入
{
printf(" ");
}
for (int j = 1; j <= 2 * i - 1; j++)//控制*的输入
{
printf("*");
}
printf("\n");
}