首页 > 其他分享 >C语言解题 || 箭型图案

C语言解题 || 箭型图案

时间:2024-02-06 21:03:45浏览次数:30  
标签:每行 tem int ++ 箭型 C语言 -- 解题 input

题目:

KiKi学习了循环, BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*"组成的箭形图案。

输入描述:

本题多组输入,每行个整数(2~20)。

输出描述:

针对每行输入,输出用“”组成的箭形。

代码实现:

#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

int main()
{
	int input = 0;
	int i = 0;
	int j = 0;
	int tem = 0;

	//我们将箭型分为3个部分来看,分开实现
	// 上部 -- 有input行
	// 中部 -- 有1行
	// 下部 -- 有input行
	//
	while (scanf("%d", &input) == 1)
	{
		tem = 0;

		//上部
		for (i = 0; i < input; i++)
		{
			for (j = 0; j < input * 2 - tem; j++)//空格每行减少2位
			{
				printf(" ");
			}
			for (j = 0; j <= i; j++)//每行输出i个*号,但因为我们的i是从0开始数,所以使用<=i
			{
				printf("*");
			}
			tem += 2;
			printf("\n");
		}

		tem = 0;

		//下中部
		for (i = 0; i < input + 1; i++)
		{
			for (j = 0; j < tem; j++)//空格每行增加2位
			{
				printf(" ");
			}
			for (j = 0; j <= input - i ; j++)//*号每行减少1位,但因为i是从0开始,所以是<=i
			{
				printf("*");
			}
			tem += 2;
			printf("\n");
		}
	}
	return 0;
}

运行结果:

C语言解题 || 箭型图案_#include

标签:每行,tem,int,++,箭型,C语言,--,解题,input
From: https://blog.51cto.com/u_16509575/9631222

相关文章

  • C语言解题 || 公务员面试
    题目:公务员面试现场打分。有7位考官,从键盘输入若干组成绩,每组7个分数(百分制),去掉一个最分和一个最低分,输出每组的平均成绩。(注:本题有多组输入)输入描述:每一行,输入7个整数(0~100),代表7个成绩,用空格分隔。输出描述:每一行,输出去掉最高分和最低分的平均成绩,小数点后保留2位......
  • C语言学习12
    函数的递归例子此程序只能倒着打印,是不行的函数的递归,先递后归补充知识点:例子不创建临时变量输出字符串长度但是所以递归思想题目:正解疑问:......
  • C语言解题 || 小乐乐与欧几里得
    题目:小乐乐最近在课上学习了如何求两个正整数的最大公约数与最小公倍数,但是他竟然不会求两个正整数的最大公约数与最小公倍数之和,请你帮助他解决这个问题。输入描述:每组输入包含两个正整数n和m。(1≤n≤109,1≤m≤109)输出描述:对于每组输入,输出一个正整数,为n和m的最大公约数......
  • C语言解题 || 空心正方形图案
    题目:KiKi学习了循环,BoBo老师给他出了一列打咽案的练习,该任务是打印用“*”组成的空心正方形图案。输入描述:多组输入,一个整数(3~20),表示输出的行数,也表示组成正方形边的“*”的数量。输出描述:针对每行输入,输出用“*”组成的空心"正方形,每个"*”后面有1个空格。代码实现:#define......
  • c语言实现内存池
    概要所谓内存池,顾名思义和线程池的设计原理是一样的,为了减少频繁申请释放内存而带来的资源消耗,减少释放内存后产生的内存碎片。设计理念为了方便管理内存池的设计通常是划分出一定数量的内存块,这些内存块的长度是一样的;用户申请内存块时返回空闲的内存块地址,如果内存块使用完......
  • C语言-calloc
    #include<stdio.h>#include<stdlib.h>intmain(){int*p=(int*)calloc(10,sizeof(int));if(p==NULL){perror("calloc");exit;}printf("%d\n",&p);//6487576printf("%......
  • 3.C语言学习--分支与循环例题分析2
    1.有三个数,将他们按照从大到小的顺序输出intmain(){ inta=0; intb=0; intc=0; scanf("%d%d%d",&a,&b,&c); inttmp=0; if(a<b) { tmp=a; a=b; b=tmp; } if(a<c) { tmp=a; a=c; c=tmp; } if(b<c)......
  • 使用C语言构建一个独立栈协程和共享栈协程的任务调度系统
    使用了标准库头文件<setjmp.h>中的setjmp和longjmp两个函数,构建了一个简单的查询式协作多任务系统,支持独立栈和共享栈两种任务。其中涉及到获取和设置栈的地址操作,因此还需要根据不同平台提供获取和设置栈的地址操作(一般是汇编语言,因为涉及到寄存器)该调度系统仅运行在一个......
  • c语言设计模式精要
    C语言是一种广泛使用的编程语言,它具有高效、灵活和可移植性等优点。在C语言的设计中,有一些重要的设计模式可以提高代码的可读性、可维护性和可扩展性。其中,最常见的设计模式包括单例模式、工厂模式和观察者模式等。单例模式用于确保一个类只有一个实例,并提供全局访问点;工厂模......
  • C语言-calloc
    学习网址C语言动态内存函数(malloc、calloc、realloc、free)详解:https://www.jb51.net/program/295325hjh.htmC语言动态内存函数详解:https://www.jb51.net/article/223725.htmcalloc函数需要头文件:<stdlib.h>calloc函数(动态内存分配函数):void*calloc(size_tnum,size_tsize);功能......