首页 > 其他分享 >空心菱形(一个循环)

空心菱形(一个循环)

时间:2022-11-16 20:13:27浏览次数:31  
标签:int spot pos 空心 linecount 菱形 printf 循环 midLine

代码

#include<stdio.h>
#include<math.h>

int n;

void init() {
	printf("请输入n:");
	scanf("%d", &n);
}

void output() {
	int spot = 0;
	int linecount = 0;
	int midLine = n / 2;
	int pos_1 = midLine;
	int pos_2 = 2 * midLine - pos_1;
	while (linecount < n) {
		if (spot == pos_1) {
			if (pos_1 != pos_2) {
				printf("*");
				spot++;
			}
			else {
				printf("*");
				linecount++;
				spot = 0;
				pos_1 = linecount > midLine ? pos_1 + 1 : pos_1 - 1;
				pos_2 = 2 * midLine - pos_1;
				printf("\n");
			}
		}
		if (spot == pos_2) {
			printf("*");
			linecount++;
			spot = 0;
			pos_1 = linecount > midLine ? pos_1 + 1 : pos_1 - 1;
			pos_2 = 2 * midLine - pos_1; 
			printf("\n");
		}
		else {
			printf(" ");
			spot++;
		}
	}
}

int main() {
	init();
	output();
	return 0;
}

标签:int,spot,pos,空心,linecount,菱形,printf,循环,midLine
From: https://www.cnblogs.com/cony1/p/16897334.html

相关文章

  • FastJson循环引用特性
    FastJson在序列化集合时,若集合循环引用特性packagecom.yang;importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.TypeReference;importcom.alibaba.f......
  • nodejs中事件循环中的执行顺序
    nodejs事件循环是一个典型的生产者/消费者模型,异步I/O、网络请求等是事件的生产者,源源不断为Node提供不同类型的事件,这些事件被传递到对应的观察者那里,事件循环则从观......
  • Day6-2 数组的使用:for,for-each循环,作为方法参数,作为返回值
    数组的使用普通For循环For-Each循环数组做方法入参数组做返回值 packagecom.kuang.array;​//for-each循环publicclassArrayDemo04{publicstatic......
  • python 中 循环结构同时传入多个参数
     001、>>>list1=[("aa",100,400),("bb","kk","yy"),(33,400,500)]>>>fori,j,kinlist1:##利用列表、元组同时传入多个参数...print(i,......
  • 循环
    循环while循环表达式while(布尔表达式){ //循环内容}只要布尔表达式是true就会一直循环下去,大多数情况下我们需要一个让表达式失效的方法do...while循环表达......
  • js闭包问题、js事件循环机制、async与defer、同步与异步模式
    js闭包问题定义:闭包就是有权访问其他函数作用域内的其他变量的函数。实现机制:在访问变量的函数中return一个匿名函数,这时匿名函数的作用域链将指向该函数的作用域。!!!由于......
  • 14.循环
    种类......
  • 循环语句 while
    循环语句whilewhlie语句结构while(表达式)循环语句;//在while循环中,break用于永久的终止循环intmain(){ inti=1; while(i<=10) { if(i==5) ......
  • 彻底搞懂nodejs事件循环
    nodejs是单线程执行的,同时它又是基于事件驱动的非阻塞IO编程模型。这就使得我们不用等待异步操作结果返回,就可以继续往下执行代码。当异步事件触发之后,就会通知主线程,主线......
  • 一张图彻底搞懂Spring循环依赖
    1什么是循环依赖?如下图所示:BeanA类依赖了BeanB类,同时BeanB类又依赖了BeanA类。这种依赖关系形成了一个闭环,我们把这种依赖关系就称之为循环依赖。同理,再如下图的情况:......