C语言刷题篇(备赛中......)--------( 篇章1 )

news2024/11/26 23:25:53

前言:

博主报名了一个小比赛,用来写一些基础的C语言题目,正好借此巩固一下基础

希望这些题对你们也有帮助

猫猫跟你说:该学习了

目录

前言:

题目( 1 ) 

解题思路 

题目( 2 ) 

 解题思路 

题目( 3 )

解题思路 

题目( 4) 

解题思路 

题目( 5 ) 

解题思路 

题目( 6 )

解题思路  

题目讲解结束,方法讲解开始!!!!

方法讲解(一)冒泡排序


题目( 1 ) 

题目描述

有一堆煤球,堆成三角棱锥形。具体: 第一层放 1 个, 第二层 3 个(排列成三角形), 第三层 6 个(排列成三角形), 第四层 10 个(排列成三角形), .... 如果一共有 N 层,共有多少个煤球?

输入格式     一个整数n,表示有多少层 (0<n<10000)

输出格式    一个整数,表示第 N 层有多少煤球。

输入输出样例

输入   30 

输出   4960

#include<stdio.h>
int main()
{
     int  N;
     int count=0;
     int a=0;
     scanf("%d",&N);
     for(int b=0;b<N;b++)
     {
       //每层有几个煤球
       count=count+(b+1);
       //从第一层开始相加,一直加到(N-1)层(因为从第0层开始计数,所以到N-1层)
       a=a+count;
     }
     printf("%d",a);
}

解题思路 

博主找规律得出每一层的求法,利用for循环进行求解,最后得出结果,进行验证


题目( 2 ) 

题目描述

输入一个整数 n,输出小于 n 并且能被 37 整除的所有自然数之和。 没有则输出 0

输入格式   一个整数。

输出格式   一个整数。

输入输出样例

输入输出
3837
75111

说明/提示

如输入的值为75, 小于 75 并且能被 37 整除的自然数为 37 74。 即和为 37 + 74 = 111

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    int a=37;
    int b=0;
    while(n>a)
    {
        b=a+b;
        a=a+37;
    }
    if(n<37)
    {
        printf(0);
    }
    printf("%d",b);
}

 解题思路 

题中说了小于n且能被37整除的数,我就投机取巧用a+37判断,利用while循环判断n与a+37的关系,如果n<=a的话,就离开while循环,输出


题目( 3 )

题目描述

x 的阶乘,即= x * (x-1) * (x-2) * ··· * 2 * 1。 输入一个整数 m,计算并输出其阶乘的值。

输入格式   一个整数

输出格式   一个整数

输入  4

输出  24

说明   m = 4m! = 4! = 4 * 3 * 2 * 1 = 24

提示   0 的阶乘为 1

#include<stdio.h>
int main()

{
    int m;
    int sum=1;
    scanf("%d",&m);
    if(m>0)
    {
        for(int b=1;b<=m;b++)
          {
             sum=b*sum;
          }
    printf("%d",sum);
    }
    else
    {
        printf("%d",sum);
    }
}

解题思路 

求阶层的题应该都会吧,if 判断m的值,如果大于0进入for循环,然后用sum=sum*b就是最终的值


题目( 4) 

题目描述

本关任务:函数 fun 的功能是:将两个两位数的正整数 a、b 合并形成一个整数放在 c 中。合并的方式是:将 a 数的十位和个位数依次放在 c 数的十位和千位上,b 数的十位和个位数依次放在 c数的百位和个位上。

注意:请勿改动主函数 main 和其它函数中的任何内容,仅在函数 fun 中填入你编写的若干语句

输入格式    整数 a、b

输出格式    计算得到的结果c

输入1         45 12

输出1         5142

#include <stdio.h>
long fun(int a,int b,long *c)
{
    int qianwei=a%10;
    int shiwei=a/10;
    int baiwei=b/10;
    int gewei=b%10;
    *c=qianwei*1000+baiwei*100+shiwei*10+gewei;
}
void main()
{	int a,b;
	long c;
	scanf("%d%d",&a,&b);
	fun(a,b,&c);
	printf("%ld\n",c);
}



解题思路 

求出每个数字所对应的位置,然后相乘


题目( 5 ) 

题目描述

猴子第一天摘下若干个桃子,当天吃了一半,后面又多吃一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。后面每天猴子都吃了前一天剩下的一半零一个。到第十天想再吃时,只剩下一个桃子。求第一天共摘了多少桃子。

输入格式   无。

输出格式   一个整数

#include<stdio.h>
int main()
{
    int day=9;
    int taozi=1;
    while(day>0)
    {
        taozi=(taozi+1)*2;
        day--;
    }
    printf("%d",taozi);
    return 0;
}

解题思路 

从第9天开始,往回算直到day=0


题目( 6 )

题目描述

现在给出两种硬币,它们的价值为 AB,它们满足 GCD(A,B)=1。在这里,你可以假设这两种货币都有足够的硬币。请计算您不能支付的最大值和您不能支付的总数。

输入格式 输入包含两个整数 AB,含义如题目描述所示。 整数之间以空格间隔。

输出格式 针对输入,打印出不能支付的最大值和不能支付的总数。 整数之间以空格间隔

输入输出样例1

输入 2 3 输出 1 1

输入输出样例2

输入 3 4 输出 5 3

#include<stdio.h>
int main()
{
    int A,B,count,c;
    scanf("%d %d",&A,&B);
    c=A*B-(A+B);
    count=(c+1)/2;
    printf("%d %d",c,count);
}

解题思路  

这道题的意思是,有无限个面值是A和B的硬币,求出这两个硬币不能支付的最大金额和不能支付的金额有几个

这个博主是通过找规律得出的


题目讲解结束,方法讲解开始!!!!

方法讲解(一)冒泡排序

两两相邻的元素进行比较,如果前面元素大于后面元素就交换两个元素的位置,最终的结果是最大的一个元素移动到了最后的位置, 这个过程为冒泡。如果有n个元素重复n-1次即可排序完成

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void bubble_sort(int arr[], int a)
{
    int i = 0;
    for (i; i < a-1; i++)
    {
        for (int j = 0; j < a -1- i; j++)
        {
            if (arr[j] > arr[j+1])
            {
                int temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
 
}
int main()
{
    int arr[] = { 9,7,4,3,2,8,6,1,5,0};
    bubble_sort(arr, sizeof(arr) / sizeof(arr[0]));
    int k = 0;
    for (k; k < (sizeof(arr) / sizeof(arr[0])); k++)
    printf("%d ", arr[k]);
    return 0;
}

注意:

1.第一个for循环是控制进行几次冒泡的,for循环的次数的是待排序序列元素个数减一次(博主最开始写的时候就写错了,忘记减一了)

2.第二个for循环是控制每一趟冒泡两两元素间进行比较的,j < a -1- i,是因为前面的已经排好顺序了,重新遍历没有必要

如果有解释的不对或者不清晰,麻烦大佬们海涵,如果可以烦请从评论区指出,我一定会加以修改,万分感谢

最后麻烦大佬们动一下发财的小手一键三连,万分感谢

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

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

相关文章

Linux虚拟机磁盘空间不足怎么办

我是一个目录 1. 在虚拟机客户端扩充磁盘空间2. 检查磁盘空间3. 扩展空间而无需重启虚拟机4. 创建新磁盘分区5. 创建物理卷6. 扩展逻辑卷 对大多数系统管理员来说&#xff0c;扩充 Linux 服务器的磁盘空间是日常的工作之一&#xff0c;下面会通过使用 Linux 命令&#xff0c;在…

Text-to-SQL小白入门(七)PanGu-Coder2论文——RRTF

论文概述 学习这个RRTF之前&#xff0c;可以先学习一下RLHF。 顺带一提&#xff1a;eosphoros-ai组织「DB-GPT开发者」最新有个新项目Awesome-Text2SQL&#xff1a;GitHub - eosphoros-ai/Awesome-Text2SQL: Curated tutorials and resources for Large Language Models, Text2…

ps 去除图标背景色

百度安全验证 https://baijiahao.baidu.com/s?id1766678909759797922&wfrspider&forpc 使用魔术橡皮擦工具&#xff0c;超级简单 最后&#xff0c;保存为PNG格式&#xff0c;因为PNG格式支持透明背景。

大二毕设.3-网盘系统-文件模块讲解

目录 模块功能介绍 抽象文件存储引擎顶级接口 高性能单文件上传-sendfile零拷贝 为什么要分片上传 文件存储引擎模块讲解 文件模块具体实现讲解 项目演示博客 模块功能介绍 文件列表查询 聚簇索引和非聚簇索引回表查询最左前缀原则覆盖索引创建文件夹文件重命名文件删除 …

jvs-rules(规则引擎)和jvs智能bi(自助式数据分析)9.22更新内容

规则引擎更新功能 新增: 1.新增节点匹配筛选 用于做多个条件的数据筛选&#xff0c;以便将符合条件的数据传递给下一个节点进行处理&#xff0c;通常用于实现复杂的查询逻辑。 2.复合变量节点新增判断条件选项说明 用户可以根据自己的需求&#xff0c;为复合变量节点添加不…

全球化、国际化、本地化和翻译:GILT 的方法

为促进公司走向全球市场&#xff0c;您需要与客户沟通&#xff0c;并成功传达您的信息。您可能会认为&#xff0c;您需要的只是一支强大的翻译团队。但是&#xff0c;翻译并不像看起来那么简单。 将公司信息翻译成另一种语言&#xff0c;需要了解一些细微差别和文化背景。要想在…

合合信息、上海大学、华南理工大学发布业内首个古彝文编码“大字典” ,为古文字打造“身份证”

“乌蒙山连着山外山&#xff0c;月光洒向了响水滩。”近期在各大短视频平台爆火的《奢香夫人》你听过吗&#xff1f;奢香夫人是一位彝族“巾帼英雄”&#xff0c;这首同名歌曲早在2009年便已发布&#xff0c;如今突然“翻红”&#xff0c;不仅体现了大众对于少数民族文化高涨的…

竞赛 基于生成对抗网络的照片上色动态算法设计与实现 - 深度学习 opencv python

文章目录 1 前言1 课题背景2 GAN(生成对抗网络)2.1 简介2.2 基本原理 3 DeOldify 框架4 First Order Motion Model5 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于生成对抗网络的照片上色动态算法设计与实现 该项目较为新颖&am…

计算糖果(牛客)

一、题目 计算糖果_牛客题霸_牛客网 二、代码 #include <iostream> using namespace std;int main() {int x, y, m, n;cin >> x >> y >> m >> n;//A-Bx B-Cy ABm BCnif ((x > 30 || x < -30) && (y > 30 || y < -30) &am…

【Vue】模板语法,插值、指令、过滤器、计算属性及监听属性(内含面试题及毕设等实用案例)上篇

一、引言 1、什么是模板语法&#xff1f; Vue 的模板语法是一种用于在 HTML 中声明式地渲染 Vue 组件的语法。它基于 HTML&#xff0c;并通过特定的模板语法扩展了 HTML。Vue 使用了一种称为 “Mustache” 语法的模板插值来绑定数据到 HTML 元素上。 在 Vue 的模板语法中&…

像专业人士一样部署:掌握代码部署的最佳实践

作为开发人员&#xff0c;您知道部署代码可能是一个耗时且复杂的过程。简化生产部署对于确保您的代码尽快有效地到达用户手中至关重要。但如何实现这一目标呢&#xff1f;在本文中&#xff0c;我们将讨论简化生产部署的一些基本提示和技巧。 从自动化构建过程到优化发布策略&am…

Java高级应用——多线程

目录 多线程 相关名词解释 程序、进程与线程 并行与并发 单核与多核 Java多线程概述 Test测试框架测试多线程的注意事项 主线程和子线程的概念 Test测试类需要使用.join()方法来确保子线程执行完毕 线程调度&#xff08;目前仅了解&#xff09; 守护线程&#xff08;…

【Linux】Linux 常用命令

Linux 常用命令 1. 复制/粘贴2. 查看目录和文件: ls3. 查看当前目录: pwd4. 切换目录: cd5. Linux 目录结构6. 绝对路径 vs 相对路径7. tab 键补全8. ctrl c 重新输入9. 创建文件: touch10. 查看文件内容: cat11. 写内容 echo12. 创建目录: mkdir12. 删除文件: rm13. 拷贝文件…

易基因直播预告|细菌微生物基因表达调控表观研究易基因科技

大家好&#xff0c;这里是专注表观组学十余年&#xff0c;领跑多组学科研服务的易基因。 DNA甲基化是在半个多世纪前在细菌中发现的。DNA碱基可以作为一个表观遗传调节因子——也就是说&#xff0c;它可以赋予相同的基因序列不同的和可逆的调控状态。在真核生物中&#xff0c;…

可变形注意力转换器综述

这篇文章基于本文的发现 一、说明 关于注意力机制&#xff0c;关于transformer等存在大量的研究和尝试&#xff0c;这些研究有的被沙汰&#xff0c;有的被采用并发扬光大&#xff0c;本篇对可变卷积、可变局部注意力机制和全局注意力机制做详细解释。因为这些模型规模巨大&…

【前端面试题】2023年 国庆 前端面试真题之JS篇

人的一生&#xff0c;总是难免有浮沉。不会永远如旭日东升&#xff0c;也不会永远痛苦潦倒。反复地一浮一沉&#xff0c;对于一个人来说&#xff0c;正是磨练。因此&#xff0c;浮在上面的&#xff0c;不必骄傲&#xff1b;沉在底下的&#xff0c;更用不着悲观。必须以率直、谦…

获取keystore中的公钥模数及md5

app备案时需要使用apk中的签名公钥&#xff0c;以及md5&#xff0c;但官方提供的方法是使用jadxGUI去打开apk获取&#xff1a; 填写App特征信息_备案-阿里云帮助中心 实际生产中apk都没有可能就要走备案流程。 但其实公钥模数和md5不需要apk&#xff0c;只需要keystore就行了。…

企业怎么在千万媒体渠道中找到适合自己的,媒介盒子告诉你

哈喽,大家好,今天媒介盒子小编又来跟大家分享软文推广的干货知识了,本篇分享的主要内容是:企业怎么在千千万万的媒体渠道中找到适合自己的。 1. 深入了解用户和产品 企业在进行产品推广之前&#xff0c;一定要全方位地挖掘产品可能应用到的使用场景。锁定产品的目标的目标用户…

OpenCV实现FAST算法角点检测 、ORB算法特征点检测

目录 1 Fast算法 1.1 Fast算法原理 1.2 实现办法 1.2.1 机器学习的角点检测器 1.2.2 非极大值抑制 1.3 代码实现 1.4 结果展示 2 &#xff0c;ORB算法 2.1代码实现 2.2 结果展示 1 Fast算法 1.1 Fast算法原理 1.2 实现办法 1.2.1 机器学习的角点检测器 1.2.2 …

React 全栈体系(十五)

第八章 React 扩展 一、setState 1. 代码 /* index.jsx */ import React, { Component } from reactexport default class Demo extends Component {state {count:0}add ()>{//对象式的setState/* //1.获取原来的count值const {count} this.state//2.更新状态this.set…