一步一步写算法(之“数星星”)

简介: 原文: 一步一步写算法(之“数星星”) 【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】       学过编程的朋友都知道,当初为了学习编程语言中的各种语法结构,我们要试着解决各种各样奇怪的题目。
原文: 一步一步写算法(之“数星星”)

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】

 

    学过编程的朋友都知道,当初为了学习编程语言中的各种语法结构,我们要试着解决各种各样奇怪的题目。其中“数星星”就似乎其中的一种。什么是“数星星”呢?就是打印各种形状的“*”,正三角、倒三角、菱形等等。本篇博客纯粹为了纪念我们逝去的岁月。

    a)正三角

void star_1()
{
	int outer;
	int inner;

	for(outer = 1; outer <10; outer ++){
		for(inner = 1; inner <= outer; inner ++){
			printf("%c ", '*');
		}
		printf("\n");
	}
}
    b)倒三角

void star_2()
{
	int outer;
	int inner;
	
	for(outer = 9; outer >= 1; outer --){
		for(inner = 1; inner <= outer; inner ++){
			printf("%c ", '*');
		}
		printf("\n");
	}
}
   c)左三角

void star_3()
{
	int outer;
	int inner;
	
	for(outer = -4; outer <= 4; outer ++){
		for(inner = 1; inner <= (5 - abs(outer)); inner ++){
			printf("*");
		}

		for(; inner <= 5; inner ++){
			printf(" ");
		}

		printf("\n");
	}
}
     d) 右三角

void star_4()
{
	int outer;
	int inner;
	
	for(outer = -4; outer <= 4; outer ++){
		for(inner = 1; inner <= abs(outer); inner ++){
			printf(" ");
		}
		
		for(; inner <= 5; inner ++){
			printf("*");
		}
		
		printf("\n");
	}
}
     e)垂直菱形

void star_5()
{
	int outer;
	int inner;
	
	for(outer = -4; outer <= 4; outer ++){
		for(inner = -4; inner <= abs(outer) -5; inner ++){
			printf(" ");
		}
		
		for(; inner <= 5 - abs(outer); inner ++){
			printf("*");
		}
		
		printf("\n");
	}
}
     f)水平菱形

void star_6()
{
	int outer;
	int inner;
	
	for(outer = -9; outer <= 0; outer ++){
		for(inner = outer; inner < 0; inner ++){
			printf(" ");
		}
		
		for(; inner <= 9; inner ++){
			printf("*");
		}
		
		printf("\n");
	}
}

    g)杨辉三角形

void star_7()
{
	int outer;
	int inner;
	
	for(outer = 1; outer <10; outer ++){
		for(inner = 1; inner <= outer; inner ++){
			printf("%3d ", outer * inner);
		}
		printf("\n");
	}
}


目录
相关文章
|
10月前
|
算法
Warshall算法
Warshall算法
143 0
Warshall算法
|
机器学习/深度学习 人工智能 算法
秒懂算法 | 尺取法
尺取法(又称为:双指针、two pointers),是算法竞赛中一个常用的优化技巧,用来解决序列的区间问题,操作简单、容易编程。 本篇介绍了尺取法的概念、反向扫描、同向扫描、模板、典型题目。
288 1
秒懂算法 | 尺取法
|
存储 机器学习/深度学习 人工智能
秒懂算法 | 分块算法
本篇内容包括了分块算法的思想的介绍、分块算法复杂度的分析以及相关例题。
265 0
秒懂算法 | 分块算法
|
算法
算法练习——(2)逢7过
中国朋友们聚会时喜欢玩"逢7过"的游戏,老外有个同样的游戏,FlipFlop,它从1计数到100,顺序输出。当遇到3的倍数就要说“Flip”,遇到5的倍数就要说“Flop”,既为3的倍数又为5的倍数则要说“FlipFlop”,说错的话表演节目或罚酒。
137 0
|
存储 算法 测试技术
《算法》世界
一.什么是算法 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。一个算法必须具有:有穷性、确切性、输入项、输出项、可行性五个性质。
171 0
《算法》世界
|
机器学习/深度学习 算法 搜索推荐
C#算法大全(中)
今天有人想让我搞一期C#算法大全。算法就算法,安排上!
拓展欧几里得算法
拓展欧几里得算法
57 0
|
算法 Java C++
算法题0
第一题:判断数字 给定一个整数 n,请你统计其各位数字中 4 和 7 的出现次数。 如果 4 的出现次数加上 7 的出现次数恰好等于 4 或 7,则输出 YES,否则输出 NO。 例如,当 n=40047 时,4 出现了 2 次,7 出现了 1 次,2+1=3,既不是 4 也不是 7,因此,输出 NO;当 n=7747774 时,4 出现了 2 次,7 出现了 5 次,2+5=7,因此,输出 YES。
130 0
|
人工智能 算法
什么是算法?
当人们提到“算法”一词,往往就会把它们当成专属于“人工智能”的范畴,很多专业的计算机人士也是,提起算法就头疼,不知道如何学习算法,慢慢的对算法就会失去兴趣,算法不仅仅是计算机行业特有的,在我们的生活中也处处存在着算法,算法是专注于解决问题的过程和方法。
154 1
什么是算法?
|
算法 JavaScript
算法总结
猫狗队列 注意: 查找了一些网上的写法,发现很多样本再处理pollAll pollDog pollCat方法的时候,并不是如下边的要求弹出所有,原因不详,以我对文字的 敏感性来说,这种只弹出一个的方式是错误的,奈何很多公司的算法题 答案也是如此,所以暂且先这样处理,你完全可以添加一个循环将所有 元.
1316 0

热门文章

最新文章