C++学习(十三)(C语言部分)之 练习
打印图像 要用循环 空心或者实心都可以
1、矩形 菱形 三角形 梯形 六边形
2、打印倒三角形的99乘法表

























具体测试代码如下:
/*
1、打印图像 要用循环 空心或者实心都可以
矩形 菱形 三角形 梯形 六边形
2、打印倒三角形的99乘法表
*/ #include<stdio.h>
#include<stdlib.h>
int main()
{
#if 1
//打印出矩形
/*
**********
* *
* *
**********
*/
//实心的矩形
printf("打印出实心矩形:\n");
for (int i = ; i<; ++i)//一共打印4行
{
for (int j=; j < ; ++j) printf("*");
printf("\n");
}
printf("\n");
//空心得矩形
printf("打印出空心矩形:\n");
for (int i = ; i<; ++i)//一共打印4行
{
for (int j = ; j < ; ++j)//一共打印10列
{
if (i==||i==||j==||j==)
printf("*");
else
printf(" "); }printf("\n");
}
printf("\n"); #endif #if 1
//打印出菱形
/*
*
* *
* *
* *
*
*/
//打印实心菱形
printf("打印出实心菱形:\n");
for (int i = ; i<; ++i)//先打印3行
{
//先打印空格
for(int j=;j<-i;++j) printf(" ");
//打印*
for(int j=;j<*i+;++j) printf("*");
printf("\n");
}
for (int i = ; i<; ++i)//再打印2行
{
//先打印空格 1 2
for (int j = ; j<i+ ; ++j) printf(" ");
//打印*
for (int j = ; j<-*i; ++j) printf("*");
printf("\n");
}
printf("\n"); //打印空心菱形
printf("打印出空心菱形:\n");
for (int i = ; i<; i++)//先打印4行
{
//打印空格
for (int j = ; j< - i; j++)
{
printf(" ");
}
//打印*号
for (int j = ; j< * i + ; j++)
{
//判断在需要打印的地方的第一位和最后一位打印*号,中间位置空格
if ((j == ) || (j + == * i + ))
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
} for(int i=;i<;i++) //打印剩下的3行
{
//打印空格
for(int j=;j<i+;j++)
{
printf(" ");
}
//打印*号
for (int j = ; j> * i + ; j--)
{
//判断在需要打印的地方的第一位和最后一位打印*号,中间位置空格
if ((j == ) || (j - == * i + ))
{
printf("*");
}
else{
printf(" ");
}
}
printf("\n");
}
printf("\n"); #endif #if 1
//打印出三角形
/*
*
* *
*****
*/
//打印出实心三角形
printf("打印出实心三角形:\n");
for (int i = ; i < ; ++i)//打印三行
{
//打印空格
for(int j=;j<-i;++j) printf(" ");
//打印*号
for(int j=;j<*i+;++j) printf("*");
printf("\n");
}
printf("\n"); //打印出空心三角形
printf("打印出空心三角形:\n");
for (int i = ; i < ; ++i)//打印三行
{
//打印空格
for (int j = ; j< - i; ++j) printf(" ");
//打印*号
for (int j = ; j < * i + ; ++j)
{
if (i == && j == )
printf(" ");
else
printf("*");
}
printf("\n");
}
printf("\n"); #endif #if 1
//打印出梯形
/*
***
* *
* *
*********
*/
//打印出实心梯形
printf("打印出实心梯形:\n");
for (int i = ; i < ; ++i)//打印4行
{
//先打印空格 1 2 3
for(int j=;j<-i;++j) printf(" ");
//在打印*号
for(int j=;j<+*i;++j) printf("*");
printf("\n");
}
printf("\n"); //打印出空心梯形
printf("打印出空心梯形:\n");
for (int i = ; i < ; ++i)//打印4行
{
//先打印空格 1 2 3
for (int j = ; j< - i; ++j) printf(" ");
//在打印*号
for (int j = ; j < + * i; ++j)
{
if ((j == ) || (j + == * i + )||i==)//判断出那些需要打印* 哪些打印空格
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
printf("\n"); #endif #if 1
//打印出六边形
/*
*****
* *
* *
* *
*****
*/
//打印出实心六边形
printf("打印出实心六边形:\n");
for (int i = ; i < ; ++i)//先打印三行 上半部分
{
//先打印空格
for(int j=;j<-i;++j) printf(" ");
//打印*号
for(int j=;j<*i+;++j) printf("*");
printf("\n");
}
for (int i = ; i < ; ++i)//再打印两行 下半部分
{
//先打印空格
for (int j = ; j<+ i; ++j) printf(" ");
//打印*号
for (int j = ; j< - * i ; ++j) printf("*");
printf("\n");
}
printf("\n"); //打印出空心六边形
printf("打印出空心六边形:\n");
for (int i = ; i < ; ++i)//先打印三行 上半部分
{
//先打印空格
for (int j = ; j< - i; ++j) printf(" ");
//打印*号
for (int j = ; j < * i + ; ++j)
{
if(i==||j==||j+==(*i+))
printf("*");
else
printf(" ");
}
printf("\n");
}
for (int i = ; i < ; ++i)//再打印两行 下半部分
{
//先打印空格
for (int j = ; j< + i; ++j) printf(" ");
//打印*号
for (int j = ; j < - * i; ++j)
{
if (i == || j == || j + == ( - * i))
printf("*");
else
printf(" ");
}
printf("\n");
}
printf("\n"); #endif #if 1
//打印出倒三角形的99乘法表
printf("打印出倒三角形的99乘法表:\n");
for (int i = ; i < ; ++i)
{
for (int j = i; j < ; ++j)
printf("%d*%d=%d\t", i, j, i*j);
printf("\n");
} #endif system("pause");
return ;
}
2018-06-19 13:11:20
C++学习(十三)(C语言部分)之 练习的更多相关文章
- 值得学习的C语言开源项目
值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工 ...
- [java学习笔记]java语言核心----面向对象之this关键字
一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理: 代表的是当前对象. this就是所在函数 ...
- [java学习笔记]java语言核心----面向对象之构造函数
1.构造函数概念 特点: 函数名与类名相同 不用定义返回值类型 没有具体的返回值 作用: 给对象进行初始化 注意: 默认构造函数 多个构造函数是以重载出现的 一个类中如果 ...
- Java学习笔记:语言基础
Java学习笔记:语言基础 2014-1-31 最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...
- IOS学习笔记07---C语言函数-printf函数
IOS学习笔记07---C语言函数-printf函数 0 7.C语言5-printf函数 ------------------------- ----------------------------- ...
- IOS学习笔记06---C语言函数
IOS学习笔记06---C语言函数 -------------------------------------------- qq交流群:创梦技术交流群:251572072 ...
- ios开发学习笔记001-C语言基础知识
先来学习一下C语言基础知识,总结如下: 在xcode下编写代码. 1.编写代码 2.编译:cc –c 文件名.c 编译成功会生成一个 .o的目标文件 3.链接:把目标文件.o和系统自带的库合并在一起, ...
- c语言学习书籍推荐《C语言学习路线图•C语言必须知道的300个问题》下载
下载地址:点我 <C语言学习路线图•C语言必须知道的300个问题>以基础知识为框架,介绍了c语言各部分知识所对应的常见开发疑难问题,并作了透彻地解析.<C语言学习路线图•C语言必须知 ...
- 【C/C++开发】值得学习的C语言开源项目
值得学习的C语言开源项目 - 1. Webbench Webbench是一个在Linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的 ...
- ndk学习之C语言基础复习----虚拟内存布局与malloc申请
在这一次中来学习一下C语言的内存布局,了解它之后就可以解释为啥在用malloc()申请的内存之后需要用memset()来对内存进行一下初始化了,首先来了解一下物理内存与虚拟内存: 物理内存:通过物理内 ...
随机推荐
- Win7系统的虚拟机中安装win7系统
今天因兼职需要,在家里的win7电脑上安装WIN7虚拟机. 之前在xp和win10系统的虚拟机中,安装各种版本的windows系统都很轻松,这一次居然折腾了很久都没搞定. 下载了好几个系统ios镜像都 ...
- 蓝桥杯—ALGO-2 最小最大公倍数
问题描述已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少. 输入格式输入一个正整数N. 输出格式输出一个整数,表示你找到的最小公倍数.样例输入9样例输出504数据规模与约定1 ...
- shell shell基本概述
SHELL的概念 SHELL是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序, 用户可以用shell来启动,挂起,停止甚至是编写一些程序. Shell还是 ...
- 尚学堂java 参考答案 第七章
本答案为本人个人编辑,仅供参考,如果读者发现,请私信本人或在下方评论,提醒本人修改 一.选择题 1.ACD 解析:B:java中左边不能直接直接指定长度,和C语言不一样 2.B 3.C 解析:B各行分 ...
- python 数据如何保存到excel中--xlwt
第一步:下载xlwt 首先要下载xlwt,(前提是你已经安装好了Python) 下载地址: https://pypi.python.org/pypi/xlwt/ 下载第二个 第二步:安装xl ...
- win10企业版激活
slmgr.vbs /upk slmgr /ipk NPPR9-FWDCX-D2C8J-H872K-2YT43 slmgr /skms zh.us.to slmgr /ato
- nginx负载均衡实验
Nginx负载均衡概述 Web服务器,直接面向用户,往往要承载大量并发请求,单台服务器难以负荷,我使用多台WEB服务器组成集群,前端使用Nginx负载均衡,将请求分散的打到我们的后端服务器集群中,实现 ...
- node连接myslq
var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', user : ' ...
- mySql单列索引与联合索引的区别
引自https://my.oschina.net/857359351/blog/658668 第一张表gift和索引为联合索引,如图: 第二张表gift2为单列索引,如图: 下面开始进行测试: 相同的 ...
- 一、TCP扫描技术
一.TCP扫描技术 常用的端口扫描技术有很多种,如 TCP connect() 扫描 .TCP SYN 扫描.TCP FIN 扫描 等,网络上也有很多文章专门介绍,比如 :http://www.ant ...