携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第6天,点击查看活动详情
👋『大家好,我是謓泽,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流>』
✔「life motto」⇢ 种一棵树最好是十年前⇿其次是现在👌
📝<juejin>个人主页⇥謓泽 的个人主页 - 文章 - 掘金 (juejin.cn)
📚<系列专栏>⇥【C语言】Topic - 謓泽的专栏 - 掘金 (juejin.cn) 🏆2021年度博客之星物联网与嵌入式开发TOP5 2021博客之星Top100 阿里云专家博主^星级博主 CSDN⇿掘金⇿InfoQ[创作者]
前言
美好的一天,从刷题开始。又是新的一天,努力!
题目描述
输入数字,用※号打印菱形。
题目分析
做这种题目一定要用代入法和找它的规律。我们可以假设输入数字5,来观察运行结果从而找到规律。
※
※※
※※※
※※※※
※※※※※
※※※※
※※※
※※
※
上述是假设我们输入数字5的运行结果。 首先,当我们看这种程序我们可以假设分为上半轴部分和下半轴的部分。这样有利于我们更好的解题。关键的核心点就在于我下面讲的这个,如果你能一看这个题目想要这个方法说明你的逻辑思维还算可以的。
//上半轴
※
※※
※※※
※※※※
※※※※※
//下半轴
※※※※
※※※
※※
※
先实现上半轴的部分,再来实现下半轴的部分。其实思路明确起来写代码也就很容易了。
这种代码如果你并没有一个很好的思路的话,不妨一边打代码一边去调试运行下。这样可能你做着做着就跟着思路走了,这种其实就是调试在引导这里,加上你自己的思路也在跟上。
题目代码
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main(void)
{
int input = 0;
printf("请输入数字:");
scanf("%d", &input);
int i = 0;
//上半轴部分
for (i = 0; i < input; i++)
{
int j = 0;
for (j = 0; j < input - i - 1; j++)
{
printf(" ");//打印空格(1)
}
for (j = 0; j < i + 1; j++)
{
printf("※");//打印星号(2)
}
printf("\n");
}
}
// //下半轴部分
for (i = 0; i < input - 1; i++)
{
int j;
for (j = 0; j <= i; j++)
{
printf(" ");//打印空格(1)
}
for (j = 0; j < (input - 1) - i; j++)//这里注意下优先级大小
{
printf("※");//打印星号(2)
}
printf("\n");
}
return 0;
}
运行结果
运行结果🖊
请输入数字->:5
※
※※
※※※
※※※※
※※※※※
※※※※
※※※
※※
※
最后
这道题目实际上难度是不大的,主要就是考察一个逻辑思维的能力,这种题目实际上就是多做题目,多做代码就可以了,逻辑思维能力都是靠刷题培养出来的。