当前位置: 首页 > news >正文

编程练习(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.lryc.cn/news/126264.html

相关文章:

  • pytorch安装VAE项目详解
  • SQL-每日一题【1517. 查找拥有有效邮箱的用户】
  • Python web实战之Django 的 WebSocket 支持详解
  • CDN(内容分发网络)
  • 前端高频面试题 Day01
  • 『C语言初阶』第八章 -隐式类型转换规则
  • Fortinet数据中心防火墙及服务ROI超300%!Forrester TEI研究发布
  • 【vue】简洁优雅的火花线、趋势线
  • 【软件工程】数据流图/DFD概念符号/流程图分层/数据字典
  • 时序预测 | MATLAB实现基于CNN卷积神经网络的时间序列预测-递归预测未来(多指标评价)
  • Python中的字符串与字符编码
  • 图数据库_Neo4j学习cypher语言_使用CQL命令002_删除节点_删除属性_结果排序Order By---Neo4j图数据库工作笔记0006
  • C语言学习笔记---数据的存储详解
  • js中的常见事件(鼠标事件,键盘事件,表单事件......)
  • 学校如何公布录取情况?源代码公布了
  • JAVA基础知识(一)——Java语言描述、变量和运算符
  • 时序预测 | MATLAB实现基于KNN K近邻的时间序列预测-递归预测未来(多指标评价)
  • 冉冉升起的星火,再度升级迎来2.0时代!
  • centos7安装erlang及rabbitMQ
  • 项目介绍:《WeTalk》网页聊天室 — Spring Boot、MyBatis、MySQL和WebSocket的奇妙融合
  • (el-Table)操作(不使用 ts):Element-plus 中Table 表格组件:多选修改成支持单选及表格相关样式的调整
  • 【JAVA】变量的作用域与生存周期
  • 中科亿海微FIFO使用
  • 使用maven打包时如何跳过test,有三种方式
  • 005-Spring 扩展点 :PostProcess
  • MFC中的窗体绘制事件函数:OnCtlColor、OnPaint、OnNcPaint、OnDrawItem、OnEraseBkgnd、OnDraw
  • dialogbot:开箱即用的对话机器人解决方案,涵盖问答型对话、任务型对话和聊天型对话等多种场景,为您提供全方位的对话交互体验。
  • TCP服务器—实现数据通信
  • 基于SpringBoot实现MySQL备份与还原
  • 【VUE 监听用户滑动】