编程练习(1)

目录

一.选择题

第一题:

第二题:

 第三题:

 第四题:

第五题:

​编辑

二.编程题

 第一题:

 第二题:

1.暴力方法: 

2.数组法:


一.选择题

第一题:

 解析:

首先在main函数中定义了一个新的局部变量xy,分别赋值为3和8。然后调用了swap()函数,该函数通过交换两个全局变量xy的值来实现交换。但是,在swap()函数中,交换的是全局变量xy的值,而不是main函数中的局部变量xy。因此,在swap()函数执行完毕后,全局变量xy的值仍然保持原来的值,即5和7。最后,在main()函数中输出全局变量xy的值,所以结果是3和8。答案选择C

第二题:

答案选择B

 第三题:

在C语言中,typedef是用于给复杂声明定义别名的关键字。它可以用来定义自己习惯的数据类型名称,来替代系统默认的基本类型名称、数组类型名称、指针类型名称与用户自定义的结构型名称、共用型名称、枚举型名称等。该题给int*类型定义了一个别名叫做 int_ptr 因此本题答案为:C,D

 第四题:

C语言中三目运算(M)?:(a++):(b--)中与(M!=0)?:(a++):(b--)等价,因此答案为C

第五题:

输入函数中int类型变量b要用&符号,而数组名本身是数组首地址不需要用&符号,因此本题答案为B

二.编程题

 第一题:

算法题:

/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可*** @param n int整型 最大位数* @return int整型一维数组* @return int* returnSize 返回数组行数*/
#include <stdio.h>static int arr[100000];int* printNumbers(int n, int* returnSize) 
{int j = 0;int i = 1;if (n > 0 && n <= 5){if (n == 1){for (i = 1; i <= 9; i++){arr[j++] = i;}}if (n == 2){for (i = 1; i <= 99; i++){arr[j++] = i;}}if (n == 3){for (i = 1; i <= 999; i++){arr[j++] = i;}}if (n == 4){for (i = 1; i <= 9999; i++){arr[j++] = i;}}if (n == 5){for (i = 1; i <= 99999; i++){arr[j++] = i;}}}*returnSize = i - 1;//得到数组最终元素个数return arr;//返回数组首元素地址
}

 第二题:

一道华为机试题:

1.暴力方法: 

//暴力求解法
#define  _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{int year;int month;int day;scanf("%d %d %d", &year, &month, &day);int sum = 0;//1 3 5 7 8 10 12 ——31天//4 6 9 11        ——30天//闰年2月         ——29天//平年2月         ——28天//如果year是闰年 2000 11 15if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)){switch (month){case 1:sum = day;break;case 2:sum = 31 + day;break;case 3:sum = 31 + 29 + day;break;case 4:sum = 31 + 29 + 31 + day;break;case 5:sum = 31 + 29 + 31 + 30 + day;break;case 6:sum = 31 + 29 + 31 + 30 + 31 + day;break;case 7:sum = 31 + 29 + 31 + 30 + 31 + 30 + day;break;case 8:sum = 31 + 29 + 31 + 30 + 31 + 30 + 31 + day;break;case 9:sum = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + day;break;case 10:sum = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day;break;case 11:sum = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day;break;case 12:sum = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day;break;}}else{switch (month){case 1:sum = day;break;case 2:sum = 31 + day;break;case 3:sum = 31 + 28 + day;break;case 4:sum = 31 + 28 + 31 + day;break;case 5:sum = 31 + 28 + 31 + 30 + day;break;case 6:sum = 31 + 28 + 31 + 30 + 31 + day;break;case 7:sum = 31 + 28 + 31 + 30 + 31 + 30 + day;break;case 8:sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + day;break;case 9:sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + day;break;case 10:sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day;break;case 11:sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day;break;case 12:sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day;break;}}printf("%d", sum);return 0;
}

2.数组法:

int main()
{int year;int month;int day;scanf("%d %d %d", &year, &month, &day);int sum = day;//闰年数组:int leap_year[12] = { 31,29,31,30,31,30,31,31,30,31,30,31 };//   1  2  3  4  5  6  7  8  9  10  11 12//平年数组:int common_year[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };//       1  2  3  4  5  6  7  8  9 10 11 12
//闰年情况:if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)){if (month == 1){sum = day;}else{int j = 0;for (int i = 1; i < month; i++){sum = sum + leap_year[j++];}}}
//平年情况:else{if (month == 1){sum = day;}else{int j = 0;for (int i = 1; i < month; i++){sum = sum + common_year[j++];}}}printf("%d", sum);return 0;
}

感谢您的支持。

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

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

相关文章

已知四个坐标点,怎样求出四边形的四个内角

1&#xff0c;理论 最简单的方式利用向量进行求解 如图可得&#xff1a; cosθa*b/&#xff08;|a|*|b|&#xff09; 已知三点坐标&#xff0c;很容易可以得到两向量之积a*b&#xff0c;以及每个的模值 2&#xff0c;四个角度求解过程 首先&#xff0c;我们定义了四个坐标点…

微服务学习笔记-基本概念

微服务是一种经过良好架构设计的分布式架构方案。根据业务功能对系统做拆分&#xff0c;每个业务功能模块作为独立项目开发&#xff0c;称为一个服务。 微服务的架构特征&#xff1a; 单一职责&#xff1a;微服务拆分粒度更小&#xff0c;每一个服务都对应唯一的业务能力&…

Vivado使用入门之二:网表物理约束

目录 一、背景 二、物理约束 2.1 概念 2.2 网表约束 2.2.1 CLOCK_DEDICATED_ROUTE 2.2.2 MARK_DEBUG 2.2.3 DONT_TOUCH 2.2.4 LOCK_PINS 三、位置约束 四、布线约束 4.1 route 4.2 assign routing mode 五、参考 一、背景 在工程设计中为了保证上板后功能正常&…

RabbitMQ工作流程详解

1 生产者发送消息的流程 (1)生产者连接RabbitMQ&#xff0c;建立TCP连接(Connection)&#xff0c;开启信道(Channel) (2)生产者声明一个Exchange (交换器)&#xff0c;并设置相关属性&#xff0c;比如交换器类型、是否持久化等 (3)生产者声明一个队列井设置相关属性&#xf…

eachars 自适应

目录 1. 案例&#xff1a; 2. 原因&#xff1a; 3. 解决&#xff1a; 1. 案例&#xff1a; 默认是正常宽度&#xff08;如图1&#xff09;&#xff0c;当再次跳转会该页面时&#xff0c;eachars图发生变化&#xff08;如图2&#xff09;。 图1 图2 2. 原因&#xff1a; 没有…

Gitlab-第四天-CD到k8s集群的坑

一、.gitlab-ci.yml #CD到k8s集群的 stages: - deploy-test build-image-deploy-test: stage: deploy-test image: bitnami/kubectl:latest # 使用一个包含 kubectl 工具的镜像 tags: - k8s script: - ls -al - kubectl apply -f deployment.yaml # 根据实际情况替换…

Redis持久化——RDB和AOF

Redis数据库是内存数据库&#xff0c;一旦出现服务宕机&#xff0c;那么内存中的数据就容易丢失。所以需要进行redis的持久化动作。 Redis持久化是指将Redis内存数据持存储到磁盘中&#xff0c;若出现了Redis服务宕机后&#xff0c;能够从硬盘中再恢复到Redis内存中。 Redis的持…

公司电脑三维图纸加密、机械图挡加密软件

机械图纸加密软件的问世&#xff0c;让很多的网络公司都大受其带来的工作中的便利。在安装了机械图纸加密软件后&#xff0c;不仅可以很好的管理员工在工作时的上网娱乐&#xff0c;在对整个公司员工的工作效率上也有着明显的提高&#xff0c;那么对于机械图纸加密软件的具体特…

Docker一键部署项目,无需登录XShell

文章目录 一键部署项目Docker手动部署SpringBoot项目编写docker部署的脚本文件script.sh 脚本内容 特别注意&#xff01;编写dockerfiledockerfile 文件内容 上传后端服务的jar包到服务器中执行 script 脚本部署后端服务 自动部署SpringBoot项目引入jsch依赖编写jsch工具类执行…

【T+】畅捷通T+修改数据精度小数点,提示小数位数只能改大。

【问题描述】 使用畅捷通T软件过程中&#xff0c; 修改数据精度过程中&#xff0c;由于误操作&#xff0c;误将数量小数位数改大&#xff0c;并且保存了。 但是看软件的说明以及提示&#xff0c; 软件提示&#xff1a;数量小数位只能改大。 软件说明&#xff1a;建账后位数只能…

Vue+SpringBoot后台管理系统:Vue3+TypeScript项目搭建(一)

写在开始:一个搬砖程序员的随缘记录文章目录 一、Node安装二、Vue CLI安装三、相关的版本四、创建Vue3TypeScript项目五、Vue项目初始化六、项目启动 一、Node安装 查看Note版本 node -v查看npm版本 npm -v然后将npm升级至最新版本 npm -g install npm将npm下载源换至http:…

【Linux】进程的基本属性|父子进程关系

个人主页&#xff1a;&#x1f35d;在肯德基吃麻辣烫 我的gitee&#xff1a;Linux仓库 个人专栏&#xff1a;Linux专栏 分享一句喜欢的话&#xff1a;热烈的火焰&#xff0c;冰封在最沉默的火山深处 文章目录 前言进程属性1.进程PID和PPID2.fork函数创建子进程1&#xff09;为什…