C语言编程实例之输出指定图形问题

 更新时间:2023年01月19日 09:33:09   作者:愚公要移山  
这篇文章主要介绍了C语言编程实例之输出指定图形问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

C语言输出指定图形

用C语言打印指定图形时,主要就是根据i(行号)  来确定每一行输出的数据

输入一个数字  就可以根据这个数字输出指定的图形,此算法也可以针对其他情况,比如输出星型。

本案例分两部分:接下来找规律   

第一部分1-6逐渐扩大,

(先输出空格)

第一行 行号1     输出5个空格

第二行 行号2     输出4个空格

第三行 行号3     输出3个空格

第 i 行 行号 i      输出6-i 个空格

(在输出数字)

左半部分 :1-(6-i)     右半部分相同

第二部分:与第一部分相反

#include<stdio.h>
 
int main(){
	int n;
	while(scanf("%d",&n)!=EOF){
		for(int i=1;i<=n;i++){	
			for(int k=n;k>i;k--) printf(" ");//打印空格
			for(int j=1;j<=i;j++)printf("%d",j);//打印左半部分
			for(j=i-1;j>=1;j--)printf("%d",j);//打印右半部分
			printf("\n");
		}
		for( i=1;i<n;i++){	
			for(int k=i;k>=1;k--) printf(" ");//打印空格
			for(int j=1;j<=n-i;j++)printf("%d",j);//打印左半部分
			for(j=n-i-1;j>=1;j--)printf("%d",j);//打印右半部分
			printf("\n");
		}
	}
	return 0;
}

C语言输出一个n行m列的图形

示例

代码如下

#include <stdio.h>  
#include <stdlib.h>  
#define MAX 26  
//输出图形  
void Print(char matrix[MAX][MAX],int n,int m)  
{  
    int i,j;  
    for(i=0;i<n;i++)  
    {  
        for(j=0;j<m;j++)  
        {  
        	printf("%c",matrix[i][j]);  
        }  
          	printf("\n");  
    }  
}  
//实现字母图形  
void Draw(int n,int m)  
{  
    int i,j;  
    int point=0;  
    char str;  
    char matrix[MAX][MAX];  
    for(i=0;i<n;i++)  
    {  
        str='A';  
        for(j=i;j<m;j++)  
        {  
            matrix[i][j]=str++;  
        } 
        //后半部分,第n行n列数都为A,往后递增
        str='A';  
        for(j=i-1;j>=0;j--)  
        {  
            matrix[i][j]=++str;  
        }
        //前半部分,倒着排序  
	}  
    Print(matrix,n,m);  
}  
  int main()  
{  
    int n,m;  
    scanf("%d%d",&n,&m);  
    Draw(n,m);  
    return 0;  
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Qt图形图像开发之曲线图模块QCustomplot库生成静态、动态曲线详细教程图解

    Qt图形图像开发之曲线图模块QCustomplot库生成静态、动态曲线详细教程图解

    这篇文章主要介绍了Qt图形图像开发之曲线图模块QCustomplot库画静态、动态曲线详细教程图解,需要的朋友可以参考下
    2020-03-03
  • C++模板 index_sequence使用示例详解

    C++模板 index_sequence使用示例详解

    这篇文章主要为大家介绍了C++模板 index_sequence使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • c++算法进阶删除有序链表中的重复元素

    c++算法进阶删除有序链表中的重复元素

    这篇文章主要为大家介绍了c++算法进阶删除有序链表中的重复元素示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • C++学习之Lambda表达式的用法详解

    C++学习之Lambda表达式的用法详解

    Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名。本文就来为大家详细讲讲C++中Lambda表达式的使用,需要的可以参考一下
    2022-07-07
  • C/C++经典实例之模拟计算器示例代码

    C/C++经典实例之模拟计算器示例代码

    最近在看到的一个需求,本以为比较简单,但花了不少时间,所以下面这篇文章主要给大家介绍了关于C/C++经典实例之模拟计算器的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-10-10
  • C语言详细实现猜拳游戏流程

    C语言详细实现猜拳游戏流程

    在学习了循环、分支、和函数之后,可以写一些简单的小游戏来给自己的编程之路增添一份乐趣。不仅提升了编码能力,还可以边学边玩,简直妙哉妙哉
    2022-05-05
  • 简单了解C语言中直接插入排序与直接选择排序实现

    简单了解C语言中直接插入排序与直接选择排序实现

    这篇文章主要介绍了C语言中直接插入排序与直接选择排序实现,插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,需要的朋友可以参考下
    2016-03-03
  • C语言位运算符:与、或、异或、取反、左移与右移详细介绍

    C语言位运算符:与、或、异或、取反、左移与右移详细介绍

    以下是对C语言中的位运算符:与、或、异或、取反、左移与右移进行了详细的分析介绍,需要的朋友可以过来参考下
    2013-08-08
  • OpenCV图像几何变换之透视变换

    OpenCV图像几何变换之透视变换

    这篇文章主要为大家详细介绍了OpenCV图像几何变换之透视变换,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-05-05
  • C++编写简易的飞机大战

    C++编写简易的飞机大战

    一款自己设计的飞机小游戏,本程序于运行环境WINDOWS XP系统,采用C++语言编写。游戏具有得分排名榜,而且在游戏完成后可以提交得分到网络上的世界排名榜中。
    2015-08-08

最新评论