C++基础-编程练习题1

文章目录

  • 一、哥德巴赫猜想
  • 二、哥德巴赫猜想2
  • 三、打印成绩单
  • 四、成绩输入输出
  • 五、数组输出奇数位偶数位


一、哥德巴赫猜想

【试题描述】
哥德巴赫提出了以下的猜想:任何一个大于 2 的偶数都可以表示成 2 个质数之和。 质数是指除了 1 和本身之外没有其他约数的数, 如 2 和 11 都是质数,而 6 不是质数,因为 6 除了约数 1 和 6 之外还有约数 2 和 3。 需要特别说明的是 1 不是质数。
请你编一个程序验证哥德巴赫猜想
【输入要求】
n 的值
【输出要求】
多组由两个素数之和组成的表达式, 每组第一个数字要从小到大排列
【输入样例】
14
【输出样例】
3+11
7+7

#include <bits/stdc++.h>
using namespace std;  // 函数用于检查一个数是否为质数  
bool isPrime(int n) {  //小于等于1的数不是质数if (n <= 1) return false;  //2是质数if (n == 2) return true;  //除2外能被2整除的数不是质数if (n % 2 == 0) return false;  for (int i = 3; i < n; i += 1) {//能被小于自身的数整除,说明不是质数if (n % i == 0) return false;  }  return true;  
}  // 函数用于验证哥德巴赫猜想  
void goldbachConjecture(int n) {  if (n <= 2 || n % 2 != 0) {  cout << "输入错误,请输入大于 2 的偶数." << endl;  return;  }  //从2开始循环找到满足条件的两个质数for (int i = 2; i <= n / 2; ++i) {//第一个质数if (isPrime(i)) {  //第二个质数int second = n - i;  if (isPrime(second)) {  //质数之和,并输出结果  cout << i << "+" << second << endl;  }}  }  }  int main() {  //定义变量n,存放输入的大于2的偶数int n;  //输入大于 2 的偶数cin >> n;  //调用goldbachConjecture函数goldbachConjecture(n);  return 0;  
}

二、哥德巴赫猜想2

【试题描述】
求出哥德巴赫猜想的所有解(将一个大于 9 的奇数拆分成三个素数之和),并按从小到大的顺序写出。
【输入要求】
一行, 一个大于 9 的奇数。
【输出要求】
每行一个解。
【输入样例】
15
【输出样例】
15=2+2+11
15=3+5+7
15=5+5+5

#include <bits/stdc++.h>
using namespace std; 
// 判断是否为素数的函数  
bool isPrime(int num) {  if (num <= 1) return false;  if (num == 2) return true;  if (num % 2 == 0) return false;  for (int i = 3; i < num; i += 1) {  if (num % i == 0) return false;  }  return true;  
}/*** 求解哥德巴赫猜想  * /
void goldbachConjecture(int oddNum) {  //取oddNum前三分之一段的数,因2是质数故从2开始for (int i = 2; i <= oddNum / 3; ++i) {  //i第一个质数//取剩下的前半段数for (int j = i; j <= (oddNum - i) / 2; ++j) {  //j第二个质数//求第三个质数kint k = oddNum - i - j;  //三个数均为素数时,满足要求if (isPrime(i) && isPrime(j) && isPrime(k)) {  //按题目要求输出cout << oddNum << "=" << i << "+" << j << "+" << k << endl;  }  }  }  
}  int main() {  int oddNum;  //输入大于9的奇数cin >> oddNum;  if (oddNum <= 9 || oddNum % 2 == 0) {  cout << "输入错误,请输入一个大于9的奇数." << endl;  return 1;  }  goldbachConjecture(oddNum);  return 0;  
}

三、打印成绩单

【试题描述】
输入 N 个同学的语文成绩, 算出总分, 打印出成绩单
【输入要求】
N 个同学的成绩
【输出要求】
N 个同学的成绩及总分。
【输入样例】
5
98 78 98 65 90
【输出样例】
total:429
98
78
98
65
90

#include <bits/stdc++.h>
using namespace std;  
/**输入 N 个同学的语文成绩, 算出总分, 打印出成绩单*/
int main() {  int n;  cin >> n; // 读取同学的数量  int scores[n]; // 创建一个存储成绩的数组  int total = 0; // 用于计算总分的变量  // 读取每个同学的成绩  for (int i = 0; i < n; ++i) {  cin >> scores[i];  //将每个成绩相加,得到总分total = total+ scores[i]; }  // 打印总分  cout << "total:" << total << endl;  // 打印每个同学的成绩  for (int i = 0; i < n; ++i) { cout << scores[i] << endl;  }  return 0;  
}

四、成绩输入输出

【试题描述】
全班 n 个同学的成绩需要按学号读入计算机并输出, 请编程实现。
【输入要求】
两行, 第一行为一个正整数 n, 第二行为 n 个实数。
【输出要求】
n 行, 包括所有同学的成绩, 每行包括学号和成绩, 之间用一个“: ” 分隔, 成绩保留一
位小数。
【输入样例】
5
92 97.5 93 87 89
【输出样例】
1: 92.0
2: 97.5
3: 93.0
4: 87.0
5: 89.0

#include <bits/stdc++.h>  
using namespace std;  
/**全班 n 个同学的成绩需要按学号读入计算机并输出* @return */
int main() {  int n;  cin >> n; // 读取学生数量  double scores[n]; // 创建包含n个元素的double类型数组用于存储成绩  for (int i = 0; i < n; ++i) {  cin >> scores[i]; // 读取每个学生的成绩  }  // 遍历数组并输出每个学生的学号和成绩  for (int i = 0; i < n; ++i) {  //fixed确保了使用固定小数点格式,而setprecision(1)则设置了小数点后要显示的位数cout << (i + 1) << ": " << fixed << setprecision(1) << scores[i] << endl;  }  return 0;  
}

五、数组输出奇数位偶数位

【试题描述】
对输入的数据分两行输出, 第一行为输入顺序的奇数位置数据, 第二行为输入顺序的偶数位置数据。
【输入要求】
共两行。
第一行为整数 n。
第二行为 n 个整数。
【输出要求】
两行。
第一行为奇数位置的数。
第二行为偶数位置的数。
注意: 每个元素右边都有一个空格。
【输入样例】
9
1 5 4 7 8 5 6 9 3
【输出样例】
1 4 8 6 3
5 7 5 9

#include <bits/stdc++.h>  
using namespace std;  
/**
* 对输入的数据分两行输出, 第一行为输入顺序的奇数位置数据, 第二行为输入顺序的偶数位置数据。
**/
int main() {  int n;  cin >> n; // 读取整数n  int nums[n]; // 创建一个大小为n的数组来存储整数  for (int i = 0; i < n; ++i) {  cin >> nums[i]; // 读取整数并存入数组}  // 输出奇数位置的数  for (int i = 0; i < n; i =i+ 2) {  cout << nums[i];  if ((i + 2) < n) {  cout << " "; // 如果不是最后一个数,则输出一个空格  }  }  cout << endl; // 换行  // 输出偶数位置的数  for (int i = 1; i < n; i += 2) {  cout << nums[i];  if (i + 2 < n) {  cout << " "; // 如果不是最后一个数,则输出一个空格  }  }  cout << endl; // 换行  return 0;  
}

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

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

相关文章

3.3 Gateway之自定义过滤器

1.Gateway过滤器种类 过滤器种类描述GatewayFilter路由过滤器&#xff0c;作用于任意指定的路由。默认不生效&#xff0c;要配置到路由后生效GlobalFilter全局过滤器&#xff0c;作用范围是所有路由。声明后自定生效 2.Gateway过滤器参数 参数描述ServerWebExchangeGateway内…

无人机运营合格证:民用无人机驾驶航空器运营合格证书

无人机运营合格证是指经国家相关部门审核通过并颁发给相应无人驾驶航空器运营机构的一种资质证明。获得该证书的机构具备相关的技术和管理能力&#xff0c;能够安全、合规地运营无人驾驶航空器。 无人机运营合格证的申请流程一般包括报名、培训学习、考试准备、考试报名、考试…

抽象类(Abstract Class)

目录 抽象方法(Abstract Methods) 非抽象方法(Non-abstract Methods) 字段(Fields) 属性(Properties)

fabric搭建生产网络

fabric搭建生产网络 一、生成组织结构与身份证书 解包 hyperledger-fabric-linux-amd64-2.5.0.tar.gz 1.1、crypto-config.yaml配置文件 ./bin/cryptogen showtemplate > crypto-config.yaml 将crypto-config.yaml内容修改为&#xff1a; # -------------------------…

上海计算机学会2023年11月月赛C++丙组T3数根(二)

题目描述 定义一个数字的根为它的十进制数字之和&#xff0c;例如 1234 的数根为 1234。 给定一个整数 n&#xff0c;请判定 n 的数根能否整除 n。 输入格式 单个整数表示 n 输出格式 如果 n 的数根可以除尽 n&#xff0c;输出 Yes&#xff0c;否则输出 No 数据范围 30…

网络基础-默认网关

默认网关&#xff0c;又称缺省网关&#xff0c;缺省路由器&#xff1b;它是指在一个连接两个不同网络的设备&#xff0c;为网关设备&#xff1b;当主机需要发送数据包到另一个子网或者另一个网络时&#xff0c;它会首先检查目标地址是否在本地子网内&#xff1b;如果不在本地子…

【C++干货基地】揭秘C++STL库的魅力:stiring的初步了解和使用

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引入 哈喽各位铁汁们好啊&#xff0c;我是博主鸽芷咕《C干货基地》是由我的襄阳家乡零食基地有感而发&#xff0c;不知道各位的…

分布式与一致性协议之ZAB协议(六)

ZAB协议 成员发现 成员发现是通过跟随者和领导者交互来完成的&#xff0c;目标是确保大多数节点对领导者的关系没有异议&#xff0c;也就是确立领导者的领导地位。成员发现的实现流程如图所示。 1.领导者选举结束&#xff0c;节点进入跟随者状态或者领导者状态后&#xff0…

SSH简介

概述 SSH&#xff0c;全称为Secure Shell&#xff0c;是一种网络协议&#xff0c;用于计算机之间的加密登录和其他加密网络服务。由Tatu Ylnen在1995年设计&#xff0c;旨在替代telnet、rlogin等不安全的协议&#xff0c;通过在网络中提供一种安全的远程登录方式来保护数据的安…

<网络安全>《80 概念讲解<第十三课 物联网常用协议-(有线通信)-设备连接>》

协议简称全称名称内容说明MBussymphonicmbus远程抄表系统是欧洲标准的2线的二总线&#xff0c;主要用于消耗测量仪器诸如热表和水表系列。USBUniversalSerialBus通用串行总线一个外部总线标准&#xff0c;用于规范电脑与外部设备的连接和通讯&#xff0c;是应用在PC领域的接口技…

【玩转Google云】构建安全高效的电商系统:GCP VPC 网络规划指南

在竞争激烈的电商领域,一个安全、高效且可扩展的网络基础架构至关重要。本文将深入探讨 Google Cloud Platform (GCP) 的 Virtual Private Cloud (VPC) 如何助力构建理想的电商系统。通过以一个典型的电商网站为例,我们将逐步解析 VPC 网络规划的关键步骤,包括子网划分、防火…

快速搭建linux虚拟机环境

1、虚拟机资源 VMwareWorkstation&#xff1a;Download VMware Workstation Pro virtualbox&#xff1a;Oracle VM VirtualBox 2、虚拟机系统资源 链接&#xff1a;系统资源链接 提取码&#xff1a;0gat 说明&#xff1a;此处的系统资源是采用VMwareWorkstation 虚拟机进…

提升图像识别性能:探索卷积神经网络与美国手语数据集

引言 在深度学习的世界里&#xff0c;卷积神经网络&#xff08;CNN&#xff09;已经成为了图像识别任务的主力军。继上一篇博客中我们使用基础神经网络对手写数字进行分类后&#xff0c;本文将介绍如何利用CNN的强大能力&#xff0c;对更加复杂的美国手语(ASL)数据集进行图像分…

简单两步将Lllama、Qwen等开源大模型安装到自己的电脑上

现在已经有非常多优秀的开源大语言模型了&#xff0c;比如Command R、Mistral、Qwen、MiniMax、Baichuan、Phi3等&#xff0c;其中Lllama3和Qwen等已经和GPT4的性能比较接近了。 如果能把这些免费的开源大模型部署到本地电脑或手机上&#xff0c;可以完全自由的使用&#xff0…

js之永久定时器

在JavaScript编程中&#xff0c;定时器是一种常见的工具&#xff0c;用于在指定的时间间隔内重复执行特定的代码。永久性定时器是其中一种类型&#xff0c;它会在设定的时间间隔内重复执行&#xff0c;直到被明确停止。本文将介绍如何在JavaScript中创建和使用永久性定时器。 …

嵌入式学习68-C++(运算符重载和虚函数)

知识零碎&#xff1a; cin >> n 相当于scanf C系统提供的6种基本函数 …

深入探索van Emde Boas树:原理、操作与C语言实现

van Emde Boas (vEB) 树是一种高效的数据结构&#xff0c;用于处理整数集合。它是由荷兰计算机科学家Jan van Emde Boas在1977年提出的。vEB树在处理整数集合的查找、插入、删除和迭代操作时&#xff0c;能够以接近最优的时间复杂度运行。vEB树特别适合于那些元素数量在某个较小…

【边东随笔】(2) “顶级掠食者” 的生存智慧:信心 | 狠心 | 耐心

&#xff08;北美鳄龟, Alligator Snapper&#xff09; "优雅&#xff0c;且致命。" 非常谨慎&#xff0c;在水域中会先找到躲避将自身安置于有利地形。浮出水面换气&#xff0c;水体稍有异动就会退回水中&#xff0c;优秀掠食者对自身优势牢牢的把握&#xff08; 信…

掌握Android Fragment开发之魂:Fragment的深度解析(中)

在上一篇文章中&#xff0c;我们深入探讨Fragment的核心特性、优势、生命周期&#xff0c;以及如何通过静态和动态使用Fragment。感兴趣的朋友&#xff0c;请前往查阅&#xff1a; 掌握Android Fragment开发之魂&#xff1a;Fragment的深度解析&#xff08;上&#xff09; 。 在…

hadoop学习---基于Hive的教育平台数据仓库分析案例(二)

衔接第一部分&#xff0c;第一部分请点击&#xff1a;基于Hive的教育平台数据仓库分析案例&#xff08;一&#xff09; 意向用户模块&#xff08;全量分析&#xff09;&#xff1a; 需求指标&#xff1a; 需求一: 计期内&#xff0c;新增意向客户&#xff08;包含自己录入的意…