安徽住房和城乡建设厅注册网站,苏州网站 建设 公司,龙井建设局网站,最新上市新手机目录 一.选择题
第一题#xff1a;
第二题#xff1a; 第三题#xff1a; 第四题#xff1a;
第五题#xff1a;
编辑
二.编程题 第一题#xff1a; 第二题#xff1a;
1.暴力方法#xff1a;
2.数组法#xff1a; 一.选择题
第一题#xff1a; 解析…目录 一.选择题
第一题
第二题 第三题 第四题
第五题
编辑
二.编程题 第一题 第二题
1.暴力方法
2.数组法 一.选择题
第一题 解析 首先在main函数中定义了一个新的局部变量x和y分别赋值为3和8。然后调用了swap()函数该函数通过交换两个全局变量x和y的值来实现交换。但是在swap()函数中交换的是全局变量x和y的值而不是main函数中的局部变量x和y。因此在swap()函数执行完毕后全局变量x和y的值仍然保持原来的值即5和7。最后在main()函数中输出全局变量x和y的值所以结果是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.hstatic 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;
} 感谢您的支持。