算法课例题
来源:互联网 发布:工作证图片制作软件 编辑:程序博客网 时间:2024/06/06 18:33
1. * 1
*** 3
*****5
*******7
*********9
---5行9列
#include <stdio.h>
int main(int argc,constchar * argv[]) {
for (int i=1; i<=5; ++i) {
for (int j=1; j<=9; ++j) {
if (j<=i+4&&j>5-i) {//重要
printf("*");
}
else
printf(" ");
}
printf("\n");
}
return0;
}
思路:
首先用两个双重for循环输出5行9列,其中内循环if判断语句:满足某条件则输出“*“”,否则输出“ ”。
输出“*”的条件为:①j<=i+4
*****
******
*******
********
*********
再用另一条件将左半边去掉:②j>5-i
*
***
*****
*******
*********
注意:表达式1&&表达式2 只有当两个表达式都为true时,整个表达式才为true
2.*********
*********
*********
*********
*********
5行13列
#include <stdio.h>
int main(int argc,constchar * argv[]) {
for (int i=1; i<=5; ++i) {
for (int j=1; j<=13; ++j) {
if (j>i-1&&j<i+9) {
printf("*");
}
else
printf(" ");
}
}
printf("\n");
}
return0;
}
思路:同上,把四边形想象成一个长方形,再用if条件减去部分形状
3.11111111111111111
12222222222222221
12333333333333321
123......
1
1
1
1
1
1
1
1
1
1
1
1
1
以此类推,形成一圈圈的数字,由外到内,由小到大,最中间的数为9
#include <stdio.h>
int min(int x,int y)
{
return x<y?x:y;
}
int main(int argc,constchar * argv[]) {
int ii,jj;
int iii,jjj;
for (int i=1; i<=17; ++i) {
ii=18-i; //保证顶部底部一致
iii=min(i,ii);
for (int j=1; j<=17; ++j) {
jj=18-j; //保证左边右边一致
jjj=min(j,jj);
printf("%d",min(iii,jjj)); //输出行列最小值
}
printf("\n");//足够17行,换行
}
return0;
}
结果:
11111111111111111
12222222222222221
12333333333333321
12344444444444321
12345555555554321
12345666666654321
12345677777654321
12345678887654321
12345678987654321
12345678887654321
12345677777654321
12345666666654321
12345555555554321
12344444444444321
12333333333333321
12222222222222221
11111111111111111
4.荡秋千
<============>
#include <stdio.h>
int main(int argc,constchar * argv[]) {
int sp=0;//控制边界
int dx=1;//移动空格个数
for (int i=0; i<99999; ++i) {//循环多少次
printf("\n\n\n\n\n\n\n\n\n");
for (int j=0; j<sp; ++j) {
printf(" ");//空格
}
printf("<=============> \r");
if(sp>190||sp<0)//过界
dx=-dx;
sp+=dx;
for (int k=0; k<9; ++k) {//延时
for (int k=0; k<9999; ++k) {
printf("");
}
}
}
return0;
}
有一个疑问:运行的时候偶尔会闪。
- 算法课例题
- 算法例题
- 回溯算法及例题
- 银行家算法例题
- 进程调度算法例题
- 贪心算法例题
- dfs算法经典例题
- 递归算法 例题
- java 经典算法 例题
- Kruskal算法例题
- Prim()算法例题
- 递归算法经典例题
- 字符串相关算法例题
- 算法例题(一)
- 贪心算法例题
- 位图算法(编程珠玑例题)
- Java经典算法例题分享
- Java经典算法例题分享
- 遍历DataTable的几种方式
- 从零开始学Scala系列(三)之初识循环分支结构
- 文件基础操作-PE结构
- nginx location匹配规则
- 【AS】键盘监听事件-解析
- 算法课例题
- java中对象的两种访问方式
- mysql分库分表总结
- python 字典中有中文,写入文件变为编码的解决方法
- 阻止回车提交表单
- 又一次
- Tcpdump详解linux tcpdump抓包分析工具
- ActiveMQ在Linux下的安装,以及安装后访问不到的问题
- Android App Widget 开发