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()来对内存进行一下初始化了,首先来了解一下物理内存与虚拟内存: 物理内存:通过物理内 ...
随机推荐
- angular 路由项目例子
angular 路由是我在工作中体验非常便捷的一点, 这是详细的API ,查看API 可以了解很多东西, https://github.com/angular-ui/ui-router/wiki/Qu ...
- [BZOJ1269]文本编辑器editor
Problem 有n个操作 Solution splay模板题,用splay维护下标. Notice 需要把l的前一个位置旋转到根,r的后一个位置旋转到根的右节点.所以特别要注意0的大坑. Code ...
- RegDataToDataType
function RegDataToDataType(Value: TRegDataType): Integer; begin case Value of rdString: Result := RE ...
- Java面向对象的三大特性之一 多态
多态: 子类重写父类方法 1)位置:子类和父类中有同名的方法 2)方法名相同,返回类型和修饰符相同,参数列表相同 方法体不同 多态的优势和应用场合 多态:同一个引用类型,使用不同的实例而执 ...
- Qt简单项目--加法计算器(详细代码注释)
Qt的简单案例--加法计算器(详细代码注释) 一.项目结构 二.项目代码 widget.h #ifndef WIDGET_H #define WIDGET_H //预编译指令, 为了避免头文件被重复包 ...
- Cracking The Coding Interview3.3
//Imagine a (literal) stack of plates. If the stack gets too high, it might topple. Therefore, in re ...
- java泛型讲解
原文: https://blog.csdn.net/briblue/article/details/76736356 泛型,一个孤独的守门者. 大家可能会有疑问,我为什么叫做泛型是一个守门者.这其实是 ...
- 关于vivado implement后clock interaction报告的理解(更新中)
对于较大工程很难避免遇到CDC问题,vivado自带的分析工具可以报告跨时钟状态. 详情参看手册UG906-Design Analysis and Closure Techniques. (1)关于p ...
- 201621123001 《Java程序设计》第10周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集 异常 1. 常用异常 结合题集题目7-1回答 1.1 自己以前编写的代码中经常出 ...
- 矩震级Mw与地震矩M0的换算关系
矩震级实质上就是用地震矩来描述地震的大小.地震矩是震源的等效双力偶中的一个力偶的力偶矩,是继地震能量后的第二个关于震源定量的特征量,一个描述地震大小的绝对力学量,单位为N.m(牛.米),其表达式为: ...