代码编织梦想

问题一:
输入正整数n,输出n行字符图案。
例如n=5时输出:
在这里插入图片描述
分析:
每行都是5个字符。
第n行之前,空格逐行减少1,*逐行增加1
第n行之后,空格逐行增加1,*逐行减少1

#include <stdio.h>

int main()
{
	int n, i, j;
	
	scanf("%d", &n);
	for(i=1; i<=2*n-1; i++)
	{
		if(i<=n)
		{
			for(j=1; j<=n-i; j++) printf(" ");
			for( ; j<=n; j++) printf("*");
			printf("\n");
		}
		else
		{
			for(j=1; j<=i-n; j++) printf(" ");
			for( ; j<=n; j++) printf("*");
			printf("\n");
		}
	}
}

问题二:
输入正整数n,要求输出如下2*n+1行的菱形图案。(菱形右边不留多余空格)
例如n=2时输出:
在这里插入图片描述

#include <stdio.h>

int main()
{
	int n, i, j, k, t;
	
	scanf("%d", &n);
	
	for(i=1, j=n; i<=n+1; i++, j--)
	{
		for(k=1; k<=j; k++) printf(" ");
		for(t=k; t<=2*n+1-j; t++) printf("*");
		printf("\n");
	}
	for(i=n+2, j=1; i<=2*n+1; i++, j++)
	{
		for(k=1; k<=j; k++) printf(" ");
		for(t=k; t<=2*n+1-j; t++) printf("*");
		printf("\n");
	}
}

问题3:
输入正整数n,输出如下中间数字为n的菱形图案。(菱形右边不留多余空格)
例如n=4时输出:
在这里插入图片描述

#include <stdio.h>

int main()
{
	int n, i, j, k, t, p;
	
	scanf("%d", &n);
	
	for(i=1, j=n-1; i<=n; i++, j--)
	{
		for(k=1; k<=j; k++) printf(" ");
		for(t=1; t<=i; t++) printf("%d", t);
		for(t=t-2; t>=1; t--) printf("%d", t);
		printf("\n");
	}
	for(i=n+1, j=1, p=n-1; i<=2*n-1; i++, j++, p--)
	{
		for(k=1; k<=j; k++) printf(" ");
		for(t=1; t<=p; t++) printf("%d", t);
		for(t=t-2; t>=1; t--) printf("%d", t);
		printf("\n");
	}
}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/weixin_47135547/article/details/106268541

补码“可视化”-爱代码爱编程

short sx = -12345; 对于变量sx的字节单元(2个字节),它就是存储着字面常量“-12345”的补码“0xcfc7”。 将一个十进制数转化为补码的过程为: (1)若为正整数,除2取余,直到商为零,余数倒叙排列,即可得补码 (2)若为负整数,先求该负数绝对值的二进制原码,然后将二进制原码的所有位取反,再加1,再在最左边补1作为符号位

第一个驱动hello_drv的详解-爱代码爱编程

一、构建file_operations static struct file_operations hello_drv = { .owner = THIS_MODULE, .open = hello_drv_open, .release = hello_drv_close, .read = hello_drv_read, .write

c语言——选择排序(回调函数)-爱代码爱编程

回调函数 函数指针作为某个函数的参数 函数指针变量可以作为某个函数的参数来使用的,回调函数就是一个通过函数指针调用的函数。 简单讲:回调函数是由别人的函数执行时调用你实现的函数。 以下是来自知乎作者常溪玲的解说: 你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就

水一篇 不常用的c语言排序方法-爱代码爱编程

好久没写博客了。。最近看c语言库里的qsort排序 虽然没有sort好用,但c里面只能使qsort啊【doge】(菜是原罪) 上代码!! #include <stdio.h> #include <stdlib.h>//包含qsort的头文件。 int cmp(const void *a,const void *b){ in

数据结构PTA习题:基础实验7-2.2 插入排序还是堆排序 (25分)——插入排序和堆排序-爱代码爱编程

基础实验7-2.2 插入排序还是堆排序 (25分) 英文题目: According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. Each iteration, in

C语言版数据结构计算顺序表中X的个数,设计算法。数据结构课后习题,定义顺序表,查找顺序表中X元素的个数。-爱代码爱编程

题目:设计算法计算顺序表中元素X的个数,殊勋表结构如下。 我在学习数据结构的时候拿到题目看了半天不知道干啥子。还在纠结这单词我都认不到,还要查百度? 1.经过我深思熟虑终于发现其中的技巧,这不就是相当于遍历一个数组吗? 相当于c语言中的对一个数组进行计数一样,只是这个多加了一步,就是遍历数组的同时找到需要的元素,并且+1而已。下面是我写的代码 int