【C语言】编程初学者入门训练(13)

news2024/12/28 2:56:04

文章目录

  • 121. 小乐乐算最高分
  • 122. 小乐乐计算求和
  • 123. 小乐乐计算函数
  • 124. 小乐乐查找数字
  • 125. kiki学程序设计基础
  • 126. kiki算期末成绩
  • 127. kiki说祝福语
  • 128. kiki的最高分
  • 129. 求质数的个数
  • 130. kiki去重整数并排序

121. 小乐乐算最高分

  • 问题描述:小乐乐的老师BoBo想知道班级中谁的数学成绩最高,请编程帮他实现。
  • 输入描述:共两行
    • 第一行输入一个数n,代表小乐乐的班级中n个同学。
    • 第二行输入n个数,用空格相隔,代表班级中每个人的数学成绩。
  • 输出描述:一个整数,代表班级中最高的数学成绩。
  • 示例
输入:3
	99 89 39
输出:99
  • 代码实现:
#include <stdio.h>
int main()
{
        int n,score,max = 0;
        scanf("%d",&n);

        for(int i = 0;i < n;i++)
        {
                scanf("%d",&score);
                if(score > max)
                {
                        max = score;
                }
        }
        printf("%d\n",max);
        return 0;
}

122. 小乐乐计算求和

  • 问题描述:小乐乐想计算一下1!+2!+3!+…+n!。
  • 输入描述:一行,一个整数n。
  • 输出描述:一行,一个整数,表示1!+2!+3!+…+n!的结果。
  • 示例
    • 输入:3
    • 输出:9
  • 备注:结果范围在int类型范围之内
  • 代码实现
#include <stdio.h>
int main()
{
        int n;
        int ch = 1,sum = 0;
        scanf("%d",&n);

        for(int i = 1;i <= n;i++)
        {
                ch *= i;
                sum += ch;
        }
        printf("%d\n",sum);

        return 0;
}

123. 小乐乐计算函数

  • 问题描述:小乐乐学会了自定义函数,BoBo老师给他出了个问题,根据以下公式计算m的值。其中 max3函数为计算三个数的最大值,如: max3(1, 2, 3) 返回结果为3。

在这里插入图片描述

  • 输入描述:一行,输入三个整数,用空格隔开,分别表示a, b, c。
  • 输出描述:一行,一个浮点数,小数点保留2位,为计算后m的值。
  • 示例
    • 输入:1 2 3
    • 输出:0.30
  • 代码实现
#include <stdio.h>
float max3(int a,int b,int c)
{
        if(a > b && a > c)      return a;

        else if(b > a && b > c) return b;
        
        else                    return c;
}
int main()
{
        int a,b,c;
        scanf("%d %d %d",&a,&b,&c);

        float m = max3(a+b,b,c) / (max3(a,b+c,c)+max3(a,b,b+c));
        printf("%.2f\n",m);

        return 0;
}

124. 小乐乐查找数字

  • 问题描述:给定n个整数和一个整数x,小乐乐想从n个整数中判断x出现几次,请编程帮他实现。
  • 输入描述:共3行
    • 第一行,一个整数,表示n(1 <= n <= 100)。
    • 第二行,共输入n个整数,两个整数之间用空格分隔。
    • 第三行,输入一个整数,表示要查找的整数x。
  • 输出描述:一行,表示整数x出现的次数。
  • 示例
输入:5
	1 1 2 1 3
	1
输出:3
  • 代码实现
#include <stdio.h>
int main()
{
        int n,x,i,count = 0;
        int arr[100] = {0};
        scanf("%d",&n);
        for(i = 0;i < n;i++)
        {
                scanf("%d",&arr[i]);
        }
        scanf("%d",&x);

        for(i = 0;i < n;i++)
        {
                if(x == arr[i])
                {
                        count++ ;
                }
        }
        printf("%d\n",count);
        return 0;
}

125. kiki学程序设计基础

  • 问题描述:BoBo老师教了KiKi学习程序设计基础,他知道C++是带类的C语言,这个“++”主要包含三部分内容:对C语言进行语法上的扩展、面向对象(封装、继承和多态),STL(即模板)。这学期KiKi学习了C和C++,学好他们,其他编程语言都可以很轻松掌握。C和C++的输入有区别,请帮KiKi输出C和C++输出Hello world的代码。

  • 输入描述:无

  • 输出描述

printf("Hello world!\n");
cout << "Hello world!" << endl;
  • 代码实现:
#include <stdio.h>
int main()
{
        printf("printf(\"Hello world!\\n\");\n");
        printf("cout << \"Hello world!\" << endl;");//这里有四个空格

        return 0;
}

126. kiki算期末成绩

  • 问题描述:KiKi这学期努力学习程序设计基础,要期末考试了,BoBo老师告诉他,总成绩包括四个部分,如下:总成绩 = 实验成绩 * 20% + 课堂表现成绩 * 10% + 过程考核成绩 * 20% + 期末上机考试成绩 * 50%,现在输入KiKi的各项成绩,请计算KiKi的总成绩。
  • 输入描述:一行,包括四个整数(百分制),用空格分隔,分别表示实验成绩,课堂表现成绩,过程考核成绩,期末上机考试成绩。
  • 输出描述:一行,总成绩,保留小数点一位。
  • 示例
    • 输入:100 100 90 80
    • 输出:88.0
  • 代码实现
#include <stdio.h>
int main()
{
        float sum = 0;
        int a,b,c,d;
        scanf("%d %d %d %d",&a,&b,&c,&d);
        
        sum = a*0.2 + b*0.1 + c*0.2 + d*0.5;
        printf("%.1f\n",sum);

        return 0;
}

127. kiki说祝福语

  • 问题描述:2020年来到了,KiKi要对他的n位好朋友说n遍”Happy new year!Good luck!”的祝福语。

  • 输入描述:输入只有一行,其中含有一个正整数 n(1≤n≤20),代表KiKi说祝福话的遍数。

  • 输出描述:输出 n 行"Happy new year!Good luck!"。

  • 示例

输入:2
输出:
	Happy new year!Good luck!
	Happy new year!Good luck!
  • 代码实现
#include <stdio.h>
int main()
{
        int n;
        scanf("%d",&n);

        for(int i = 0;i < n;i++)
        {
                printf("Happy new year!Good luck!\n");
        }
        return 0;
}

128. kiki的最高分

  • 问题描述:KiKi知道了大一三科比较重要课程的分数,包括:程序设计基础,高数,英语,请编程帮他找到三科中的最高分。
  • 输入描述:一行,三个整数,用空格分隔,代表三科成绩。
  • 输出描述:一行,一个整数,代表输入三科分数中的最高分数。
  • 示例
    • 输入:90 88 99
    • 输出:99
  • 代码实现
#include <stdio.h>
int MAX3(int a,int b,int c)
{
        if(a > b && a > c)
                return a;
        else if(b > a && b > c)
                return b;
        else
                return c;
}
int main()
{
        int a,b,c;
        scanf("%d %d %d",&a,&b,&c);
        printf("%d\n",MAX3(a,b,c));

        return 0;
}

129. 求质数的个数

  • 问题描述:KiKi知道了什么是质数(只能被1和他自身整除的数),他现在想知道所有三位整数中,有多少个质数。
  • 输入描述:无
  • 输出描述:一行,一个整数,表示所有三位整数中,有多少个质数。
  • 代码实现
#include <stdio.h>

//是素数则返回1,否则返回0
int is_prime(int i)
{       
        //拿2到i-1之间的数去试除i
        for(int j = 2;j < i-1;j++)
        {
                if(0 == i % j)
                {
                        return 0;
                }
        }
        return 1;
}
int main()
{
        int count = 0;
        for(int i = 100;i <= 999;i++)
        {
                //判断i是否为素数
                if(1 == is_prime(i))
                {
                        count++ ;
                }
        }
        printf("%d\n",count);
        return 0;
}

130. kiki去重整数并排序

  • 问题描述:给定一个整数序列,KiKi想把其中的重复的整数去掉,并将去重后的序列从小到大排序输出。
  • 输入描述
    • 第一行,输入一个整数n,表示序列有n个整数。
    • 第二行输入n个整数(每个整数大于等于1,小于等于1000),整数之间用空格分隔。
  • 输出描述:去重并且从小到大排列的整数序列,整数之间用空格分隔。
  • 示例
输入:6
	5 3 3 4 2 2
输出:2 3 4 5
  • 代码实现1:暴力求解
    • 先利用冒泡排序将序列从小到大先排好序;
    • 在让相邻的两个元素进行比较,如果出现重复的元素,则让后面的元素往前挪动覆盖掉重复的元素。当有n个元素的时候,要去重则最多要比较n-1对元素。
#include <stdio.h>
int main()
{
        int n,i;
        int arr[1000]= {0};
        scanf("%d",&n);

        for(i = 0;i < n;i++)
        {
                scanf("%d ",&arr[i]);
        }
        //先排序再去重
        for(i = 0;i < n-1;i++)//冒泡排序
        {
                for(int j = 0;j < n-i-1;j++)
                {
                        if(arr[j] > arr[j+1])
                        {
                                int t = arr[j];
                                arr[j] = arr[j+1];
                                arr[j+1]= t;
                        }
                }
        }
        //去重
        for(i = 0;i < n-1;i++)//取中最多比较的次数为n-1次
        {
                if(arr[i] == arr[i+1])
                {
                        //把从i+1往后的元素统统往前覆盖
                        for(int k = i;k < n-1;k++)
                        {
                                arr[k] = arr[k+1];
                        }
                        n--;//去重了一个元素,要少一个元素
                        i--;//让i还是保持i+1的位置
                }
        }
        //打印
        for(i = 0;i < n;i++)
        {
                printf("%d ",arr[i]);
        }
        return 0;
}
  • 代码实现2:拿空间换时间
    • 既然输入的数字不超过一千,那么就创建一个1001大小的数组(1001才有下标1000),然后将数组完全初始化为0;
    • 按照输入的数字来存放进数组中,如:输入1则存在下标为1的地方,这样如果后面再出现1则继续存在下标1处,就能将重复的数字去掉了;
    • 当循环结束的时候,此时不仅去完重了同时也排好序了,再从前往后将数组中非0的元素全部打印出来就搞定了。
#include <stdio.h>
int main()
{
        int n,i;
        int arr[1001] = {0};
        scanf("%d",&n);

        for(i = 0;i < n;i++)
        {
                int m;
                scanf("%d",&m);
                arr[m] = m;
        }
        for(i = 0;i <= 1000;i++)
        {
                if(0 != arr[i])
                {
                        printf("%d ",arr[i]);
                }
        }
        putchar('\n');
        return 0;
}

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

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

相关文章

4.2 双点双向路由重发布

1. 实验目的 熟悉双点双向路由重发布的应用场景掌握双点双向路由重发布的配置方法2. 实验拓扑 双点双向路由重发布如图4-6所示: 图4-6:双点双向路由重发布 3. 实验步骤 IP地址的配置R1的配置 <Huawei>system-v…

关键路径、工期、总时差和自由时差精讲

关键路径法是在进度模型中&#xff0c;估算项目最短工期&#xff0c;确定逻辑网络路径进度灵活性大小的一种方法。①计算原理a.计算ES、EF&#xff1a;从网络计划起点节点开始&#xff0c;沿箭线方向依次向前推算&#xff0c;数值取大。b.计算LS、LF&#xff1a;从网络计划终点…

SVFormer:走进半监督动作识别的视觉 Transformer

出品人&#xff1a;Towhee 技术团队 顾梦佳 半监督学习&#xff08;SSL&#xff09;的动作识别是一个关键的视频理解任务&#xff0c;然而视频标注的高成本加大了该任务的难度。目前相关的方法主要研究了卷积神经网络&#xff0c;较少对于视觉 Transformers&#xff08;ViT&…

一个视频说清整个英语语法体系(重塑你的语法认知框架)

前言 绝大多数句子&#xff1a;什么 怎么样 几乎所有的英语句子&#xff1a;主语谓语 广义 “动作”&#xff1a;语法上的“动词” 主语(人或物) 谓语(“动作”发生了什么事情) 有哪些”动作“(动词)&#xff1f; 可以独立完成的动作&#xff1a;不及物动词 [主语不及物…

GEE学习笔记 七十九:【GEE之Python版教程十一】

列表在python中就是使用中括号包围的数据&#xff0c;比如[11,23,10]等。列表&#xff08;list&#xff09;是可变的&#xff0c;同时在python中还有集合&#xff08;set&#xff09;以及元组&#xff08;tuple&#xff09;和这个类似&#xff0c;不要把这些内容搞混。 运行下…

Maven怎样构建生命周期?

项目构建生命周期Maven的本质是一个项目管理工具&#xff0c;将项目开发和管理过程抽象成一个项目对象模型(POM)。Maven构建生命周期描述的是一次构建过程经历经历了多少个事件。对项目构建的生命周期划分为3套&#xff0c;其中clean负责清理工作&#xff0c;default负责核心工…

Git小乌龟每次推送拉取都弹窗和用户名密码报错(解决办法)

目录 一、小乌龟推送代码到云端用户名和密码报错 &#xff08;一&#xff09; 遇到问题 &#xff08;二&#xff09;解决办法 二、小乌龟每次推送拉取都要输入账号和密码 &#xff08;一&#xff09;遇到问题 &#xff08;二&#xff09;解决办法 一、小乌龟推送代码到云…

AlphaGo 和 ChatGPT有何相似之处? 附AlphaGo核心算法开源链接

AlphaGo 和 ChatGPT 是迄今为止最著名、最具开创性的两个 AI 系统之一。尽管它们被设计用于不同的目的&#xff0c;但它们共享一些重要的相似之处&#xff0c;包括使用深度学习、神经网络以及专注于达到人类水平表现等。而不久前&#xff0c; DeepMind 悄悄开源了AlphaGo的核心…

在windows安装MySQLworkbench

跑到官网安装MySQL :: MySQL Downloads select MySQL community server Recommended Download download the first installer here just start my download let’s open it and agree with the license agreement 安装&#xff0c;一直点next点到Account and Rolse 自己定密码…

C++学习笔记-变量类型

变量为我们提供了程序可以操作的命名存储。 C 中的每个变量都有一个特定的类型&#xff0c;它决定了变量内存的大小和布局; 可存储在该内存中的值范围; 以及可以应用于变量的操作集。 变量的名称可以由字母&#xff0c;数字和下划线字符组成。 它必须以字母或下划线开头。 大写…

【C语言每日一题】——倒置字符串

【C语言每日一题】——倒置字符串&#x1f60e;前言&#x1f64c;倒置字符串&#x1f64c;总结撒花&#x1f49e;&#x1f60e;博客昵称&#xff1a;博客小梦 &#x1f60a;最喜欢的座右铭&#xff1a;全神贯注的上吧&#xff01;&#xff01;&#xff01; &#x1f60a;作者简…

基于蜣螂算法改进的LSTM分类算法-附代码

基于蜣螂算法改进的LSTM分类算法 文章目录基于蜣螂算法改进的LSTM分类算法1.数据集2.LSTM模型3.基于蜣螂算法优化的RF4.测试结果5.Matlab代码摘要&#xff1a;为了提高LSTM数据的分类预测准确率&#xff0c;对LSTM中的参数利用蜣螂搜索算法进行优化。1.数据集 数据的来源是 UC…

让我们,从头到尾,通透I/O模型

什么是IO 一句话总结 IO就是内存和硬盘的输入输出 I/O 其实就是 input 和 output 的缩写&#xff0c;即输入/输出。 那输入输出啥呢&#xff1f; 比如我们用键盘来敲代码其实就是输入&#xff0c;那显示器显示图案就是输出&#xff0c;这其实就是 I/O。 而我们时常关心的磁盘…

网络层重点协议之IP协议(IPv4)

网络层的作用就是来路由的选择&#xff0c;规划传输的路径&#xff0c;其中网络层的重点协议就是IP协议。4位版本号版本号的取值只有4和64位首部长度描述了IP报头有多长&#xff0c;报头中有一个选项部分&#xff0c;是变长的&#xff0c;是可有可无的部分&#xff0c;所以IP报…

【python百炼成魔】python之列表详解

文章目录一. 列表的概念1.1 列表是什么&#xff1f;1.2 为什么要使用列表&#xff1f;1.3 列表的定义二. 列表的增删改查操作2.1 列表的读取2.2 列表的切片2.3 列表的查询操作2.3.1 not in ,in 表达式2.3.2 列表元素遍历2.4 列表元素的增加操作2.4.1 append()的相关用法2.4.2 e…

Webpack(应用一:基本使用,只需六步骤)

前言 上一篇文章已经说明了webpack的定义以及需求 本偏文章主要讲解webpack的基本使用 tips&#xff1a;现在以vscode编辑器来展示&#xff0c;只需要几个步骤就可以实现webpack的基本使用。 一、首先要安装node.js 1、不会安装node.js的&#xff0c;可以在网上自己找教程来…

Java:博客系统,实现加盐加密,分页,草稿箱,定时发布

文章目录1. 项目概述2. 准备工作2.1 数据库表格代码2.2 前端代码2.3 配置文件3. 准备项目结构3.1 拷贝前端模板3.2 定义实体类3.3 定义mapper接口和 xml 文件3.4 创建其他包4. 统一数据返回4.1 Result 类4.2 统一数据格式5. 注册5.1 逻辑5.2 验证数据规范性5.3 实现注册5.4 前端…

Teradata与中国市场官宣“分手”!国产数据库准备好了吗?

2月15日&#xff0c;西方的情人节刚刚过去一天&#xff0c;国内IT行业就爆出一个大瓜。 继Adobe、甲骨文、Tableau、Salesforce之后&#xff0c;又一个IT巨头要撤离中国市场。 Teradata天睿公司官宣与中国市场“分手”&#xff0c;结束在中国的直接运营。目前&#xff0c;多家…

记录--TS类型写不好?一起来训练提升吧!

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 前期准备 本篇文章的编写目的是为了提升TS类型的书写质量&#xff0c;高质量的类型可以提高项目的可维护性并避免一些潜在的漏洞; 在学习本篇之前需要有一定的TS基础知识&#xff0c;在此基础上可以更…

wpgarlic:一款功能强大的WordPress插件模糊测试工具

关于wpgarlic wpgarlic是一款功能强大的WordPress插件模糊测试工具&#xff0c;该工具可以帮助广大研究人员查找WordPress插件漏洞。目前为止&#xff0c;该工具已经成功在大约1500万个网站上找出了140多个WordPress插件漏洞。 考虑到模糊测试工具的运行机制&#xff0c;即模…