贵州大学oj平台24级24-12-7第2次上机小测

题目:质因子求和函数

题目描述

输入一个大于1的正整数n,输出n的所有质因子的和。

对于给定的正整数n来说,质因子(或质因数)是指能整除n的质数,如果n自身也是质数的话,它自己也是自己的质因子。

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。注意,1既不是质数也不是合数。

程序的开始部分已经写好如下:

#include <stdio.h>

程序的最后是main函数,main函数已经写好如下:

int main(){
    int n,sum;
    scanf("%d",&n);
    sum = sumOfPrimeFactor(n);  /*调用函数*/
    printf("%d",sum);
    return 0;
}

在main函数中会调用一个名为sumOfPrimeFactor的函数,该函数会计算n的所有质因子的和并返回结果。

请补充提交你认为需要的程序剩余部分,OJ系统会将上述已有的代码和你提交的代码合并成一个程序再进行编译,因此请不要重复提交上述已有的代码。

输入描述

输入一个大于1的正整数n,OJ测试数据保证n是大于1的正整数,你不需要对此进行检测。

输出描述

输出n的所有质因子之和

样例输入

10

样例输出 

7

题解 

方法一:
#include<math.h>int sumOfPrimeFactor(int n){int sum=0,flag;for(int i=2;i<=n;i++){flag=1;                          //每次循环结束重置flagfor(int j=2;j<=sqrt(i);j++){if(i%j==0){flag=0;break;}}if(flag){                        //若i不为质数,则不执行if语句if(n%i==0){sum+=i;n/=i;}}}if(sum==0) sum++;                    //若sum为0,即n为质数return sum;
}
 方法二:
#include<math.h>int jugdePrime(int n){if(n<2){return 0;}for(int i=2;i<=sqrt(n);i++){if(n%i==0){return 0;}}return 1;
}int sumOfPrimeFactor(int n){int sum=0;for(int i=2;i<=n;i++){if(n%i==0&&jugdePrime(i)){    //调用函数判断i是否为质数(若n%i==0为假,则不会调用jugdePrime函数)sum+=i;}}return sum;
}

后者的时间复杂度要小于前者 


题目:单词个数统计函数1

题目描述

输入一行英文字符串,由若干单词组成,单词间仅由空格分隔。统计并输出该行字符串中的单词数量。

程序的开始部分已经写好如下:

#include <stdio.h>

#include <string.h>

程序的最后是main函数,main函数已经写好如下:

int main(){
    char s[100];
    gets(s);
    int count = getWordNumber(s);  /*调用函数*/
    printf("%d",count);
    return 0;
}

在main函数中会调用一个名为getWordNumber的函数,该函数会统计字符串中单词的数量并返回结果。

请补充提交你认为需要的程序剩余部分,OJ系统会将上述已有的代码和你提交的代码合并成一个程序再进行编译,因此请不要重复提交上述已有的代码。

输入描述

输入一行英文字符串,由若干单词组成。OJ测试数据保证数组空间足够大,且单词之间仅由空格分隔。

但是在第一个单词前面可能有若干空格,最后一个单词后面也可能有若干空格,两个单词之间的分隔可能不止一个空格。

输出描述

输出字符串中的单词个数。

样例输入

  Hello Guizhou  University

样例输出 

3

题解 

#include<ctype.h>int getWordNumber(char s[]){int len=strlen(s);int count=0,flag=0;for(int i=0;i<len;i++){if(isalpha(s[i])){flag=1;            //若s[i]为字母,记录}else{if(flag){          //若flag为0,即前面没有未记录的单词flag=0;count++;}}}if(flag){                  //判断最后一个单词是否被记录count++;}return count;
}


题目:比赛得分计算函数

题目描述

现在要举行某项比赛,共有n个裁判给选手打分。选手的得分计算规则是从n个裁判的打分中去掉一个最高分和一个最低分,
计算剩下裁判分数的平均分。例如有7个裁判打分,去掉一个最高分和一个最低分后,计算剩余5个裁判的平均分即可。
如果最高分或最低分不只一个,去掉一个就可以了。

本题要求输入裁判人数及所有裁判的分数,输出选手的得分。

程序的开始部分已经写好如下:

#include <stdio.h>

程序的最后是main函数,main函数已经写好如下:

int main(){
    int n,i;
    double avg;
    scanf("%d",&n);
    double score[n];
    for(i=0;i<n;i++)
        scanf("%lf",&score[i]);
    /*调用函数,计算选手得分*/
    calculateScore(n,score,&avg);
    printf("%.2f",avg);
    return 0;
}

在main函数中会调用一个名为calculateScore的函数,该函数会按上述规则计算选手的比赛得分。

请补充提交你认为需要的程序剩余部分,OJ系统会将上述已有的代码和你提交的代码合并成一个程序再进行编译,因此请不要重复提交上述已有的代码。

输入描述

先输入一个正整数n,代表有n个裁判打分(OJ测试数据保证n是正整数,不用进行检测)
再输入n个double型数据,代表n个裁判给出的分数(OJ测数数据保证这n个double数据都是正数,且在0.0~10.0范围内)

输出描述

输出选手的得分,小数点后保留两位。

样例输入

7
7.0 7.5 7.5 7.0 8.0 8.5 8.0

样例输出 

7.60

题解 

void calculateScore(int n,double score[],double* avg){int max=0,min=0;*avg=0;for(int i=0;i<n;i++){if(score[max]<score[i]) max=i;        //记录最大值if(score[min]>score[i]) min=i;        //记录最小值*avg+=score[i];}*avg=(*avg-score[min]-score[max])/(n-2);  //去除最大值和最小值并求平均值
}

 题目:质数个数函数

题目描述

输入一个大于1的正整数n,输出2~n之间的质数个数。

质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数。注意,1既不是质数也不是合数。

程序的开始部分已经写好如下:

#include <stdio.h>

程序的最后是main函数,main函数已经写好如下:

int main(){
    int n,num;
    scanf("%d",&n);
    num = numOfPrime(n);  /*调用函数*/
    printf("%d",num);
    return 0;
}

在main函数中会调用一个名为numOfPrime的函数,该函数会统计2~n之间的质数个数并返回结果。

请补充提交你认为需要的程序剩余部分,OJ系统会将上述已有的代码和你提交的代码合并成一个程序再进行编译,因此请不要重复提交上述已有的代码。

输入描述

输入一个大于1的正整数n,OJ测试数据保证n是大于1的正整数,你不需要对此进行检测。

输出描述

输出2~n之间的质数个数

样例输入

10

样例输出 

4

题解 

#include<math.h>int numOfPrime(int n){int num=0,flag;for(int i=2;i<=n;i++){flag=1;                        //每次循环需重置flagfor(int j=2;j<=sqrt(i);j++){if(i%j==0){flag=0;break;}}if(flag){num++;}}return num;
}

题目:单词个数统计函数2

题目描述

输入一行英文字符串,由若干单词组成,单词间仅由空格分隔。统计并输出该行字符串中的大写英文字母开头的单词数量。

程序的开始部分已经写好如下:

#include <stdio.h>

#include <string.h>

程序的最后是main函数,main函数已经写好如下:

int main(){
    char s[100];
    gets(s);
    int count = getWordNumber(s);  /*调用函数*/
    printf("%d",count);
    return 0;
}

在main函数中会调用一个名为getWordNumber的函数,该函数会统计字符串中大写英文字母开头的单词数量并返回结果。

请补充提交你认为需要的程序剩余部分,OJ系统会将上述已有的代码和你提交的代码合并成一个程序再进行编译,因此请不要重复提交上述已有的代码。

输入描述

输入一行英文字符串,由若干单词组成。OJ测试数据保证数组空间足够大,且单词之间仅由空格分隔。

但是在第一个单词前面可能有若干空格,最后一个单词后面也可能有若干空格,两个单词之间的分隔可能不止一个空格。

输出描述

输出字符串中的大写英文字母开头的单词个数。

样例输入

  I love Guizhou We all  Love guizhou University

样例输出 

5

题解 

#include<ctype.h>int getWordNumber(char s[]){int len=strlen(s);int count=0;for(int i=0;i<len;i++){if(isupper(s[i])) count++;    //判断s[i]是否为大写字母}return count;
}

 以上解法有投机取巧的成分。

按题目的逻辑,还应判断该大写字母是否为单词首字母,以往的题目中有相关思路,在此不过多赘述。


题目:元素个数统计函数

题目描述

输入若干整数存储在数组中,统计数组中大于所有元素平均值的元素个数并输出结果。注意,元素的平均值计算使用double型数据。

程序的开始部分已经写好如下:

#include <stdio.h>

程序的最后是main函数,main函数已经写好如下:

int main(){
    int n,i;
    int num;
    scanf("%d",&n);
    int score[n];
    for(i=0;i<n;i++)
        scanf("%d",&score[i]);
    /*调用函数,统计元素个数*/
    countNum(n,score,&num);
    printf("%d",num);
    return 0;
}

在main函数中会调用一个名为countNum的函数,该函数会统计数组中大于所有元素平均值的元素个数。

请补充提交你认为需要的程序剩余部分,OJ系统会将上述已有的代码和你提交的代码合并成一个程序再进行编译,因此请不要重复提交上述已有的代码。

输入描述

先输入一个正整数n,代表数组长度(OJ测试数据保证n是正整数,不用进行检测)
再输入n个整型数据,代表n个数组元素

输出描述

输出数组中大于平均值的元素个数。(注意元素的平均值计算使用double型数据)

样例输入

10
1 2 3 4 5 6 7 8 9 10

样例输出 

5

题解 

void countNum(int n,int score[],int* num){*num=0;double arg=0;for(int i=0;i<n;i++){arg+=score[i];}arg/=n*1.0;for(int i=0;i<n;i++){if(score[i]>arg) (*num)++;}
}

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

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

相关文章

Wireshark数据抓包分析之传输层协议(TCP协议)

根据实验环境&#xff0c;本实验的步骤如下&#xff1a; 1.在测试环境使用发包工具和Wireshark抓取TCP三次握手和四次断开的数据包。 2.详细分析TCP协议的三次握手以及四次断开。 任务描述&#xff1a;安装发包工具&#xff0c;并配置TCP客户端&#xff0c;服务端&#xff0…

【目标检测】【反无人机目标检测】使用SEB-YOLOv8s实时检测未经授权的无人机

Real-Time Detection of Unauthorized Unmanned Aerial Vehicles Using SEB-YOLOv8s 使用SEB-YOLOv8s实时检测未经授权的无人机 论文链接 0.论文摘要 摘要&#xff1a;针对无人机的实时检测&#xff0c;复杂背景下无人机小目标容易漏检、难以检测的问题。为了在降低内存和计算…

Flume基础概念

目录 作用组件构成ClientFlowAgentSourceSinkEvent 和Log4j的区别与定位事务传出流程输入到sourcesource端输入Channel 接收输入到SinkSink输出 作用 Flume可以从各种来源&#xff08;如日志文件、消息队列、网络数据、文件系统、数据库等&#xff09;收集数据&#xff0c;并将…

Unity 设计模式-观察者模式(Observer Pattern)详解

观察者模式 观察者模式&#xff08;Observer Pattern&#xff09;是一种行为型设计模式&#xff0c;它定义了对象之间的一对多依赖关系。当一个对象的状态发生变化时&#xff0c;它的所有依赖者&#xff08;观察者&#xff09;都会收到通知并自动更新。这种模式用于事件处理系…

论文:IoU Loss for 2D/3D Object Detection

摘要&#xff1a;在2D/3D目标检测任务中&#xff0c;IoU (Intersection-over- Union)作为一种评价指标&#xff0c;被广泛用于评价不同探测器在测试阶段的性能。然而&#xff0c;在训练阶段&#xff0c;通常采用常见的距离损失(如L1或L2)作为损失函数&#xff0c;以最小化预测值…

vue.js学习(day 20)

综合案例&#xff1a;购物车 数据渲染 构建cart购物车模块 准备后端接口服务环境 请求数据存入vuex cart.js // 新建购物车模块 import axios from axios export default {namespaced: true,state () {return {// 购物车数据 [{},{}]list: []}},mutations: {updateList (…

RAG系统分类、评估方法与未来方向

分享一篇RAG综述&#xff1a;Retrieval-Augmented Generation for Large Language Models: A Survey&#xff0c;主要想了解一下RAG的评估方法&#xff0c;分享给大家。 文章目录 一、RAG分类二、评估方法三、未来方向 一、RAG分类 RAG分类&#xff1a;Navie RAG、Advanced RA…

美国大选后,用HMM模型做特斯拉股价波动解析

作者&#xff1a;老余捞鱼 原创不易&#xff0c;转载请标明出处及原作者。 写在前面的话&#xff1a;本文主要探讨如何利用高斯隐马尔可夫模型&#xff08;HMM&#xff09;预测股票价格&#xff0c;我们将分步进行说明&#xff1a;包括数据准备、特征选择、训练 HMM 模型、最后…

VSCode(四)CMake调试

1. 工具准备 1.1 C环境插件 1.2 CMake插件 2. Cmake工程 2.1 创建项目文件夹 ex:CMAKE_TEST 2.2 创建CMake工程 &#xff08;shift ctl P), 选择"CMAKE: Quick Start": 2.3 填写project name: (ex: test_cmake) 2.4 选择”Executable“ 项目文件内会自动…

从 HTML 到 CSS:开启网页样式之旅(七)—— CSS浮动

从 HTML 到 CSS&#xff1a;开启网页样式之旅&#xff08;七&#xff09;—— CSS浮动 前言一、浮动的简介1.没有浮动的代码和效果2.加入浮动的代码和效果 二、元素浮动后的特点1. 脱离文档流2.宽高特性&#xff1a;3.共用一行&#xff1a;4.margin 特性&#xff1a;5.区别于行…

微信小程序实现图片拖拽调换位置效果 -- 开箱即用

在编写类似发布朋友圈功能的功能时&#xff0c;需要实现图片的拖拽排序&#xff0c;删除图片等功能。 一、效果展示 **博主的小程序首页也采用了该示例代码&#xff0c;可以在威信中搜索&#xff1a;我的百宝工具箱 二、示例代码 1.1、在自己的小程序中创建组件 1.2、组件…

通过 FRP 实现 P2P 通信:控制端与被控制端配置指南

本文介绍了如何通过 FRP 实现 P2P 通信。FRP&#xff08;Fast Reverse Proxy&#xff09;是一款高效的内网穿透工具&#xff0c;能够帮助用户突破 NAT 和防火墙的限制&#xff0c;将内网服务暴露到公网。通过 P2P 通信方式&#xff0c;FRP 提供了更加高效、低延迟的网络传输方式…

php7.4安装pg扩展-contos7

今天接到一个需求&#xff0c;就是需要用thinkphp6链接pg(postgresql)数据库。废话不多说&#xff0c;直接上操作步骤 一、安装依赖 yum install -y sqlite-devel libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-dev…

CentOS7.X 安装RustDesk自建服务器实现远程桌面控制

参照文章CentOS安装RustDesk自建服务器中间总有几个位置出错&#xff0c;经实践做个记录防止遗忘 一 环境&工具准备 1.1 阿里云轻量服务器、Centos7系统、目前最高1.1.11版本rustdesk-server-linux-amd64.zip 1.2 阿里云轻量服务器–安全组–开放端口&#xff1a;TCP(21…

TCP Analysis Flags 之 TCP Spurious Retransmission

前言 默认情况下&#xff0c;Wireshark 的 TCP 解析器会跟踪每个 TCP 会话的状态&#xff0c;并在检测到问题或潜在问题时提供额外的信息。在第一次打开捕获文件时&#xff0c;会对每个 TCP 数据包进行一次分析&#xff0c;数据包按照它们在数据包列表中出现的顺序进行处理。可…

Java线程的interrupt中断、wait-notify/all(源码级分析)

实例方法&#xff1a; interrupt()方法是设置结束阻塞(sleep、wait等)&#xff0c;并且设置中断标记true isInterrupted()判断当前是否中断 静态方法&#xff1a; Thread.interrupted():调用这个方法的线程中断标记位还原为false 那么好&#xff0c;既然上面的方法作用是清…

Burp Suite 实战指南:Proxy 捕获与修改流量、HTTP History 筛选与分析

声明&#xff01; 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&a…

12月第1周AI资讯

阅读时间:3-4min 更新时间:2024.12.2-2024.12.6 目录 OpenAI CEO Sam Altman 预告“12天OpenAI”系列活动 腾讯HunyuanVideo:130亿参数的开源视频生成模型 李飞飞的World Labs发布空间智能技术预览版 中科院联手腾讯打造“AI带货王”AnchorCrafter OpenAI CEO Sam Alt…

从零开始学TiDB(1) 核心组件架构概述

首先TiDB深度兼容MySQL 5.7 1. TiDB Server SQL语句的解析与编译&#xff1a;首先一条SQL语句最先到达的地方是TiDB Server集群&#xff0c;TiDB Server是无状态的&#xff0c;不存储数据&#xff0c;SQL 发过来之后TiDB Server 负责 解析&#xff0c;优化&#xff0c;编译 这…

记录一次使用git无权限的问题排查

正常的配置了公私钥之后&#xff0c;在gitlab中也存储了配对的公钥&#xff0c;但当使用git clone 时&#xff0c;总是报无权限 由于在这台机器中添加了多个公私钥&#xff0c;有点复杂&#xff0c;我们可以使用命令 ssh -vvvT 调试一下 ssh -vvvT yourGitlabAddr