菱形图案打印、水仙花数、买汽水

news2024/11/17 15:58:29

目录

菱形图案打印

上三角 

 下三角

 拓展:带空格直角三角形图案

代码一

代码二

 水仙花数

拓展:变种水仙花数

 买汽水

代码一

代码二

妙用汽水瓶


菱形图案打印

题目要求

其实呢这道题很多人想到直接用printf()进行输出,我想说的是,这样写不但麻烦、代码难看,而且实用性极低,所以当我们遇到这种类似循环输出题目是,不建议printf()输出;

接下来我就为大家简单介绍一下此题的做法,对于这类型的题其实我们只需要找到规律,就非常简单,仔细观察图形,可以发现,此图形中是由空格和*按照不同个数的输出组成的。我们这里将这个图案分为两个部分从上往下,按照2*(line-1-i)-1的方式减少,其中:line表示总共有多少行 按照上述方式,将上三角和下三角中的空格和*分别输出即可。 

 

上三角 

上三角:先输出空格,后输出*,每行中
  空格:从上往下,一行减少一个
  *:2*i+1的方式递增

代码实现如下

int main()
{
	int line = 0;
	int i = 0;
	scanf("%d", &line);//可自己选择打印图案的大小
	//打印上半部分
	for(i=0; i<line; i++)
	{
		//打印一行
		//打印空格
		int j = 0;
		for(j=0; j<line-1-i; j++)
		{
			printf(" ");
		}
		//打印*
		for(j=0; j<2*i+1; j++)
		{
			printf("*");
		}
		printf("\n");
	}

 下三角

下三角:先输出空格,后输出*,每行中
  空格:从上往下,每行多一个空格

代码实现如下

//打印下半部分
	for(i=0; i<line-1; i++)
	{
		//打印一行
		int j = 0;
		for(j=0; j<=i; j++)
		{
			printf(" ");
		}
		for(j=0; j<2*(line-1-i)-1; j++)
		{
			printf("*");
		}
		printf("\n");
	}

 拓展:带空格直角三角形图案

题目要求

示例展示

 

这里博主就不做过多讲解了,这种找规律的题,还需要宝子们多勤加练习,这里给出两个解题代码

代码一

int main()
{
    int n = 0;
    while(scanf("%d", &n) != EOF)
    {
        int i = 0;
        //行数控制
        for(i=0; i<n; i++)
        {
            //空格
            int j = 0;
            for(j=0; j<n-1-i; j++)
            {
                printf("  ");
            }
            //*
            for(j=0; j<=i; j++)
            {
                printf("* ");    
            }
            printf("\n");
        }
        
    }
    return 0;
}

代码二

int main()
{
    int n = 0;
    while(scanf("%d", &n) != EOF)
    {
        int i = 0;
        int j = 0;
        //行数
        for(i=0; i<n; i++)
        {
            //一行
            for(j=0; j<n; j++)
            {
                //行和列的和
                //这里可以把行数和列数标出来就能看明白
                if(i+j<n-1)
                {
                    printf("  ");
                }
                else
                {
                    printf("* ");
                }
            }
            printf("\n");
        }
    }
    return 0;
}

 水仙花数

题目要求

求出0~100000之间的所有“水仙花数”并输出。

“水仙花数”是指一个n位数,其各位数字的n次方之和确好等于该数本身,如:153=1^3+5^3+3^3,则153是一个“水仙花数”

解题思路

我们将此题进行拓展一下,我们想加入我们想要求100以内的呢?或者更大呢?

所以我们改为我们只需要输入我们想要的n,便就可以输出你想要的0~n之间的水仙花数

int n = 0;
	scanf("%d", &n);

首先水仙花数要用自身的位数为次方,所以我们需要求出它的位数,实现如下

int panduan(int n)
{
	if (n / 10 != 0)
		return 1 + panduan(n / 10);
	else return 1;//整数最少也为一位
}

 其次我们需要剥离每一位并进行求和,代码如下

int jisuan(int a, int b)
{
	if (a / 10 != 0)
	{
		return pow(a % 10, b) + jisuan(a / 10,b);
	}
	else return pow(a % 10, b);
}

最后 我们就只要再进行遍历每一个数并判断就好,代码如下

int main()
{
	int n = 0;
	scanf("%d", &n);
	int i = 0;
	for (i = 0; i < n; i++)
	{
		int w = panduan(i);
		int sn = jisuan(i, w);
		if (sn == i)
			printf("%d ", i);
	
	}
	return 0;
}

拓展:变种水仙花数

题目要求

 

这里博主就不做过多解释了,如果看代码有不懂的宝子可以私信博主,或者评论留言,代码如下

#include <stdio.h>
#include<math.h>
int main() {
    int i = 0;
    int n = 0;
    int s = 0;
    for (i =10000; i <= 99999; i++)
    {
        int b = 0;
        int a = 1;
        while (a != 0)
        {
            a = i / pow(10, b);
            b++;
        }
        s = 0;
        for (n = 1; n<b - 1; n++)
        {
            int d = pow(10, n);
            s =s+i/d * (i % d);
        }
        if(s==i)
            printf("%d ", i);
    }
    return 0;
}

 买汽水

题目要求:

喝汽水,1瓶汽水1元,2个空瓶可以换一瓶汽水,给20元,可以多少汽水(编程实现)。

思路

1. 20元首先可以喝20瓶,此时手中有20个空瓶子
2. 两个空瓶子可以喝一瓶,喝完之后,空瓶子剩余:汽水数/2(两个空瓶子换的喝完后产生的瓶子) + 汽水数%2(不够换的瓶子)
3. 如果瓶子个数超过1个,可以继续换,即重复2

先来看看博主写的代码:

#include<stdio.h>

int maiqishui(int n)
{
	int count = n;
	while (n / 2 != 0)
	{
		count = count + n / 2;
		n = n / 2 + n % 2;
	}
	return count;
}

int main()
{
	int n = 0;
	scanf("%d", &n);
	int sn = maiqishui(n);
	printf("%d", sn);
	return 0;
}

博主在这二再提供两种代码,供宝子们理解

代码一

int main()
{
	int money = 0;
	int total = 0;
	int empty = 0;


	scanf("%d", &money);
	
	//方法1
	total = money;
	empty = money;
	while(empty>1)
	{
		total += empty/2;
		empty = empty/2+empty%2;
	}


	return 0;
}

代码二

// 方法二:按照上述喝水和用瓶子换的规则的话,可以发现,其实就是个等差数列:money*2-1
int main()
{
	int money = 0;
	int total = 0;
	int empty = 0;


	scanf("%d", &money);
	
	//方法2
	if(money <= 0)
	{
		total = 0;
	}
	else
	{
		total = money*2-1;
	}
	printf("total = %d\n", total);


	return 0;
}

妙用汽水瓶

我们想一个事,加入你有一个汽水瓶,然后你向老板借一个空汽水瓶,然后现在你有两个空汽水瓶,又可以换一瓶汽水,喝完后再换给老板!!!

博主将消失一段时间进行备战期末考试,感谢各位的支持,记得三连哦 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/604736.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开源:小狐狸GPT付费AI-v2.0.0 H5和小程序端增加使用手册

小狐狸GPT付费AI体验系统、系统版本更新至1.2.0&#xff0c;源码为小程序、H5、WEB版本&#xff0c;购买含更新&#xff0c;独立版&#xff1b;开源、开源、开源、可二开&#xff01;&#xff01;200包含H5、web的vue全开源&#xff0c;最新版更新了&#xff1a;H5和小程序端增…

打造一个你自己图标exe的Python脚本启动器

目录 1. 背景需求2. 需求软件3. 准备图标4. 编译命令4.1 使用Windows API4.2 使用-mwindows参数编译4.3 使用pythonw.exe解释器 5. 测试运行5.1 参考代码5.2 使用效果 1. 背景需求 有时候为了确保多平台的兼容性&#xff0c;需要开发绿色版的应用程序&#xff0c;也就是在嵌入…

windows server 查看登录日志

windows server 查看登录日志 1、 先要开启登录审核&#xff0c;在查看登录日志 点击 “服务器管理器” – > “工具” – > “本地安全策略” 点击 “本地策略” – > “点击审核策略” 审核 成功 和 失败的记录&#xff08;可以全选也可以选择需要审计的操作&am…

Linux pthread_create源码分析

前言 本文介绍pthread_create函数的使用和源码分析。 /include/pthread.h bionic/libc/bionic/pthread_create.cpp bionic/libc/bionic/pthread_attr.cpp pthread_create使用 Android中的绝大部分线程&#xff0c;最后都是通过pthread_create创建的。 int pthread_create(p…

【LeetCode热题100】打卡第11天:有效括号合并两个有序链表

文章目录 【LeetCode热题100】打开第11天⛅前言&#x1f512;有效括号&#x1f511;题解&#x1f512;合并两个有序链表&#x1f511;题解&#x1f4a1;思路一&#xff1a;合并到第三方链表上&#x1f510;【非递归实现】&#x1f510;【递归实现】 &#x1f4a1;思路二 &#…

2023年上半年数据库系统工程师下午真题及答案解析

试题一(15分) 某新能源汽车公司为了提升效率&#xff0c;需开发一个汽车零件采购系统。请完成系统的数据库设计。 概念结构设计 需求描述 (1)记录供应商信息&#xff0c;包括供应商的名称、地址和一个电话。 (2)记录零件信息&#xff0c;包括零件的编码、名称和价格。 (3)…

线程的四个属性

如上图所示&#xff0c;线程有四个属性&#xff1a; 线程ID线程名称守护线程线程优先级 1. 线程ID 每个线程都有id&#xff0c;这个id不能修改 线程id会不停的自增&#xff0c;从1开始 main函数就是第一个线程&#xff0c;id1 id 是操作系统用来识别各个线程的编号&#…

DHVT:在小数据集上降低VIT与卷积神经网络之间差距,解决从零开始训练的问题

VIT在归纳偏置方面存在空间相关性和信道表示的多样性两大缺陷。所以论文提出了动态混合视觉变压器(DHVT)来增强这两种感应偏差。 在空间方面&#xff0c;采用混合结构&#xff0c;将卷积集成到补丁嵌入和多层感知器模块中&#xff0c;迫使模型捕获令牌特征及其相邻特征。 在信…

tcp shrinking window 之进退

一个有趣的问题&#xff1a;Unbounded memory usage by TCP for receive buffers, and how we fixed it 引出一个 kernel patch&#xff1a;[PATCH] Add a sysctl to allow TCP window shrinking in order to honor memory limits 但这 patch 把一个问题变成了两个问题&#…

apple pencil一代的平替有哪些品牌?平价电容笔推荐

要知道&#xff0c;真正的苹果原装电容笔&#xff0c;价格可不低&#xff0c;仅仅一支就是近千块。实际上&#xff0c;平替电容笔对没有太多预算的用户是个不错的选择。一款苹果的电容笔的售价&#xff0c;相当于平替电容笔的四倍&#xff0c;不过平替电容笔的书写体验&#xf…

pnpm对npm及yarn降维打击详解

目录 正文npm2yarnpnpm总结 正文 大家最近是不是经常听到 pnpm&#xff0c;我也一样。今天研究了一下它的机制&#xff0c;确实厉害&#xff0c;对 yarn 和 npm 可以说是降维打击。 那具体好在哪里呢&#xff1f; 我们一起来看一下。 我们按照包管理工具的发展历史&#xf…

3.5 凸多边形最优三角部分

博主简介&#xff1a;一个爱打游戏的计算机专业学生博主主页&#xff1a; 夏驰和徐策所属专栏&#xff1a;算法设计与分析 1.什么是多边形的三角剖分&#xff1f; 多边形三角剖分是指将多边形分割成互不相交的三角形的弦的集合T。 我的理解&#xff1a; 多边形三角剖分是将给…

uniapp本地存储详解

uniapp本地存储详解 前言 在开发uniapp应用时&#xff0c;我们常常需要使用本地存储来保存一些数据&#xff0c;比如用户登录信息、设置项等&#xff0c;使得应用能够在设备上保存和读取数据&#xff0c;以便提供更好的用户体验和离线功能支持&#xff0c;本文将简单介绍unia…

python编程——编译器与解释器

作者&#xff1a;Insist-- 个人主页&#xff1a;insist--个人主页 本文专栏&#xff1a;python专栏 专栏介绍&#xff1a;本专栏为免费专栏&#xff0c;并且会持续更新python基础知识&#xff0c;欢迎各位订阅关注。 目录 前言 一、编译器与解释器的介绍 二、编译器与解释器…

JDK1.8下载安装(优雅)

bug虐我千百遍&#xff0c;我待bug如初恋。 这里使用的环境是win11 64位系统&#xff0c;应该适配win8-win11 一、下载 这里提供两种下载方式&#xff0c;官网下载和第三方下载&#xff0c;区别就是下载速度不同 1. 官网下载 &#xff08;1&#xff09;官网下载&#xff1a;…

智慧物流货运系统源码 货运平台的功能介绍

网络货运平台源码 网络货运平台的功能 网络货运是指利用互联网平台&#xff0c;通过物流配送的方式进行商品销售和物流运输的一种新型商业模式。这种模式将传统的货运模式与互联网技术相结合&#xff0c;通过网络平台进行交易、物流配送和结算等一系列商业流程&#xff0c;从而…

用户画像如何创新破局数据驱动增长 | 数据增长

用户画像即用户信息标签化&#xff0c;就是企业通过收集与分析消费者社会属性、生活习惯、消费行为等主要信息的数据之后&#xff0c;完美地抽象出一个用户的商业全貌&#xff0c;是企业应用大数据技术的基本方式。例如&#xff1a;通过收集用户的人口属性、行为属性、消费习惯…

面向初学者的数据科学|要学习的内容概述

面向初学者的数据科学|要学习的内容概述 数据科学家是21世纪最性感的工作。每个人都想变得性感。该领域开始变得竞争激烈&#xff0c;提高了就业标准。 因此&#xff0c;仅仅知道如何使用不同的工具是不够的&#xff0c;求职者需要能够抓住基本的概念和技术&#xff0c;然后应用…

VMware Cloud Foundation 5.0 发布 - 领先的多云平台

VMware Cloud Foundation 5.0 发布 - 领先的多云平台 高效管理虚拟机 (VM) 和容器工作负载。为本地部署的全栈超融合基础架构 (HCI) 提供云的优势。 请访问原文链接&#xff1a;https://sysin.org/blog/vmware-cloud-foundation-5/&#xff0c;查看最新版。原创作品&#xff…

DEMO:F4帮助 收藏夹功能

货铺QQ群号&#xff1a;834508274微信群不能扫码进了&#xff0c;可以加我微信SAPliumeng拉进群&#xff0c;申请时请提供您哪个模块顾问&#xff0c;否则是一律不通过的。进群统一修改群名片&#xff0c;例如BJ_ABAP_森林木。群内禁止发广告及其他一切无关链接&#xff0c;小程…