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()来对内存进行一下初始化了,首先来了解一下物理内存与虚拟内存: 物理内存:通过物理内 ...
随机推荐
- Linux第二周作业
通过反汇编一个简单的C程序,分析汇编代码理解计算机是如何工作的 1.进入vi编写C语言程序代码,首先必须输入命令vi main,c,其中main.c是文件名. 紧接着按esc键退出编辑状态,再输入一个 ...
- SQL优化过程中常见Oracle HINT
在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量, ...
- js 动态绑定鼠标事件
<script> function getElementsByClassName(n) { var classElements = [],allElements = document.ge ...
- 给rm命令设置别名防止误操作
1通过alias命令查看别名格式并按照格式修改 alias rm='rm -i' 修改为 alias rm='echo command not found' 2通过编辑vim /etc/profile ...
- DevExpress WinForms使用教程:Data Grid - Find Panel模式
[DevExpress WinForms v18.2下载] DevExpress WinForms用户都熟知,Data Grid是整个产品线的主要产品.在v18.2中添加了一些新的功能,例如之前教程中 ...
- IDEA中自动生成serialVersionUID
File >> Setting >> Inspections >> serializable 勾选上后,光标放在实现Serializable接口的类名上 ...
- Codeforces Round #506 (Div. 3) C. Maximal Intersection
C. Maximal Intersection time limit per test 3 seconds memory limit per test 256 megabytes input stan ...
- VS2017企业版的密钥
Visual Studio 2017(VS2017) 企业版 Enterprise 注册码:NJVYC-BMHX2-G77MM-4XJMR-6Q8QFVisual Studio 2017(VS2017 ...
- 理解mpvue的生命周期
mpvue是美团基于vue开发的一个开发小程序的框架,从而以vue的语法来开发小程序.在生命周期上,mpvue同时支持了vue的生命周期和小程序的生命周期,这可能让新上手的同学费解.这篇文章就来讲讲m ...
- QueryString中的加号变成空格解决方法
通过Request.QueryString["CheckItem"]的方式调用值的时候,数值中的加号“+”会转换为空格“ ” 例如传输“ABC+EFG”,就会取到“ABC EFG” ...