关于循环的编程练习(2)

  1. 输入正整数N(1≤N≤50),输出数字1组成的上三角阵列(N行N列)

N为6时打印的图案

111111
11111
1111
111
11
1
#include<stdio.h>
int main()
{
    int i,j;
    int num;
    scanf("%d",&num);
    for(i=0;i<num;i++)
    {
        for(j=0;j<i;j++)//打印空格
        {
            printf(" ");
        }
        for(j=i;j<num;j++)//打印图案
        {
            printf("1");
        }
        printf("\n");//打印换行
    }
    return 0;
}

这种类型题目可将图案模块化,这道题假设n=5;第一部分是打印‘1’(按5,4,3,2,1的次数打印),第二部分打印空格(按0,1,2,3,4的次数打印)。

  1. 输入正整数N(1≤N≤26),输出大写字母组成的等腰三角形(N行)

N为6时输出的图案

A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
ABCDEFEDCBA
#include<stdio.h>
int main()
{
    int i,j;
    int num;
    scanf("%d",&num);
    for(i=0;i<num;i++)
    {
        for(j=i;j<num-1;j++)//打印空格 
        {
            printf(" ");
        }
        for(j=0;j<=i;j++)//打印正三角序列 
        {
            printf("%c",j+65);
        } 
        for(j=i;j>0;j--)//打印反三角序列 
        {
            printf("%c",j+64);
        }
        printf("\n");
    }
    return 0;
}

  1. 输入正整数N(1≤N≤50),输出星号组成的菱形图案(中轴线长度为2N-1)

N为3时打印的图案

*
***
*****
***
*
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
    int i, j;
    int num;
    scanf("%d", &num);
    for (i = 0; i < num; i++)
    {
        for (j = num - 1; j > i; j--)//打印正三角空格 
        {
            printf(" ");
        }
        for (j = 0; j <= i; j++)//打印正三角图案 
        {
            printf("*");
        }
        for (j = 0; j < i; j++)//打印反三角图案 
        {
            printf("*");
        }
        printf("\n");
    }
    //打印倒三角图案 
    for (i = 0; i < num - 1; i++)
    {
        for (j = 0; j <= i; j++)//打印倒三角空格
        {
            printf(" ");
        }
        for (j = num - 1; j > i; j--)//打印正的倒三角
        {
            printf("*");
        }
        for (j = num - 1 - 1; j > i; j--)//打印反的倒三角
        {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值