打印菱形星号组合(俩种解法),不允许只用printf,要求采用循环的方式,找规律。
来源:互联网 发布:知乎 竖肩章 编辑:程序博客网 时间:2024/06/07 17:23
任务和代码
第一种解法:
#include <stdio.h>
#define N 7int main()
{
char str[N][N];
int i = 0;
int j = 0;
for(i = 0; i < N; i++)
{
for(j = 0; j < N; j++)
{
str[i][j] = 32;
}
}
int m = N;
int n = 0;
i = 0;
j = (N-1)/2;
while(j != i)
{
while(j<m)
{
str[i++][j++] = '*';
}
j = j - 2;
while(i<m)
{
str[i++][j--] = '*';
}
i = i - 2;
while(j >= n)
{
str[i--][j--] = '*';
}
j = j + 2;
while (i > n)
{
str[i--][j++] = '*';
}
//str[(m+1)/2][(m+1)/2] = '*';
str[(m-1)/2][(m-1)/2] = '*';
m--;
n++;
i++;
}
for(i = 0; i < N; i++)
{
for(j = 0; j < N; j++)
{
printf("%c", str[i][j]);
}
printf("\n");
}
return 0;
}
第二种解法:
#include <stdio.h>
int main()
{
int i;
int j;
for (i=0; i<7; i++)
{
for (j=0; j<7; j++)
{
if ( i+j>=3 && i+j<=9 && j-i<=3 && i-j<=3 )
{
printf("*");
}
else
{
printf(" ");
}
}
printf("\n");
}
return 0;
}
运行结果:
心得体会:
做这种题目要有思维逻辑性,找可循规律。
1 0
- 打印菱形星号组合(俩种解法),不允许只用printf,要求采用循环的方式,找规律。
- 打印菱形星号组合
- 打印菱形星号组合
- 打印菱形星号组合
- 打印菱形星号组合
- 题目:编写程序,打印菱形星号组合
- 根据用户需要输出打印菱形,用for循环输出打印星号组成的菱形
- 打印菱形星号
- 打印菱形星号
- 打印菱形星号
- 用星号打印菱形
- 打印菱形星号
- 打印菱形星号
- 打印菱形星号
- 打印菱形星号
- 打印菱形及斐波纳契数列的几种解法
- Java-用星号打印菱形
- 打印菱形--只用两个print语句
- web前端html文件之间做表单数据传输和处理
- stl中map的使用总结
- leetcode-69. Sqrt(x)
- 第十五周项目八判断回文
- CS231n课程笔记2.2:线性分类器
- 打印菱形星号组合(俩种解法),不允许只用printf,要求采用循环的方式,找规律。
- ubuntu下配置深度播放器
- Python环境搭建
- 模板方法模式
- RxJava 详解
- 关于STM32的HAL库中超时函数中的tick溢出后产生的问题的思考及求证
- leetcode--Reverse Linked List
- C++中变量的作用域和生命周期
- 使用NMap扫描技术解决禁ping问题