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

复试第十四天

C笔试

1.输出500有的“水”,花数”是3,其各位数立方该数

153个水花数为153=1**3+5**3+3**3

int main() { int a = 0, b = 0, c = 0; for (int i = 100; i < 500; i++) { c = i % 10; b = (i / 10) % 10; a = i / 100; if (i == (c * c * c + b * b * b + a * a * a)) { printf("%d是水仙花数\n", i); } } return 0; }

2.在一3*4维数组a要求程求其中最大那个素的,并输出其所在的行号和列号。

int main() { int num[3][4] = { 0 }; printf("请输入若干整数:\n"); for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { scanf("%d", &num[i][j]); } } int max = -9999; int i_max = 0, j_max = 0; for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { if (num[i][j] > max){ max = num[i][j]; i_max = i; j_max = j; } } } printf("对应的行号是%d,列号是%d", i_max, j_max); return 0; }

3。选择法实现对10个整数按从大到小的顺序排序输出

int swap(int*p, int*q) { int tempt; tempt = *p; *p = *q; *q = tempt; } int* Sort(int* num) { for (int i = 0; i < 10; i++) { int max = -999, j_num = i; for (int j = i; j < 10; j++) { if (num[j] > max) { max = num[j]; j_num = j; } } swap(&num[i], &num[j_num]); } return num; } int main() { int b[10] = { 0 }; printf("请输入十个数:"); for (int i = 0; i < 10; i++){ scanf("%d", &b[i]); } int* m = b; Sort(m); printf("排序后结果是:"); for (int i = 0; i < 10; i++) { printf("%d ", m[i]); } return 0; }

2023年笔试题目

编程题目(一题40分)

1。给定一个字符串str,和一个长度为2的字符串substr,统计substrstr中出现的次数。

例如,字符串as asd asdf abas dadas adasas出现的次数为6。写出函数:int sub( char *str, char *substr )

int sub(char* str, char* substr) { int init = 0, count = 0, i = 0, j = 0, time = 0; while (str[i] != '\0' && substr[j] != '\0') { if (str[i] != substr[j]) { init++; j = 0; i = init; count = 0; } else { i++; j++; count++; } if (count == 2) { time++; j = 0; count = 0; init = i; } } return time; }

2.♥♥♥读一个英文短文文本,输出短文中出现的不同种类单词的数目,

以及每个单 词在短文中出现的次数。要求用结构数组实现。可以用 strcmp进行字符串比较(未加主函数)

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include<stdlib.h> #include<string.h> typedef struct term { char name[10]; int time; }Term; Term * search(char str[]) { static Term term[100]; int num = 0; char* now; now = strtok(str, " "); while (now!= NULL ) { int found = 0; for(int m=0;m<num;m++){ if (strcmp(now, term[m].name) == 0) { term[m].time++; found = 1; } } if(found==0){ strcpy(term[num].name, now); term[num].time = 1; num++; } now = strtok(NULL, " "); } return term; }

3. ♥♥♥♥结构体数组,二分查找,冒泡排序,指针定义

输入 n个学生的学生信息,学生信息包括:姓名、编号、成绩总分,并依据

成绩总分将学生信息采用冒泡排序从小到大地输出。在学生信息中用二分查找
查找成绩等于x的所有学生信息并输出。要求学生信息是动态存储的,nx
从键盘输入。
typedef struct{ char name[10]; char index[10]; int mark; }Term; int main() { int n; scanf("%d", &n); Term *term = (Term*)malloc(n * sizeof(Term));#动态数组,要用指针来定义,因为运行时分配位置,而用数组需要提前分配位置 char name1[10], index1[10];#最好使用数组,使用指针需要定义很麻烦,不然会变成野指针 int mark1; for (int i = 0; i < n; i++) { gets(name1); gets(index1); strcpy(term[i].name, name1); strcpy(term[i].index, index1); scanf_s("%d", &mark1); term[i].mark=mark1; } Term tempt ; for (int i = 0; i < n-1; i++) { for (int j = 0; j < n-i-1; j++) {#冒泡排序 if (term[j].mark > term[j + 1].mark) { tempt = term[j]; term[j] = term[j + 1]; term[j + 1] = tempt; } } } int x; scanf("%d", &x); int l = 0, r = n - 1,mid=0; int position; while (l <= r) { #二分查找 mid = (l+r) / 2; if (x == term[mid].mark) { position = mid; break; } if (x < term[mid].mark) { r =mid - 1; } if (x >term[mid].mark) { l= mid +1; } } printf("成绩是%d的同学信息是:\n",x); printf("姓名是:%s", term[position].name); return 0; }

4.从键盘第一行输入 mm代表小明要玩游戏的次数,接下来的输入为骰子的点数,请输出 m次游戏的排序结果。

提示:建立单链表,游戏结果的输出用 3次函数。

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include<stdlib.h> #include<string.h> typedef struct node { int data; struct node* next; }Lnode; void witch (int x, Lnode*list) { Lnode* p1=list->next,* front1=list; Lnode* p = list->next, * front = list; while (p1 != NULL) { if (p1->data == x) { p = p1; front = front1; break; } else { p1 = p1->next; front1 = front1->next; } } front->next = p->next; p->next = list->next; list->next = p; } int main() { int time; scanf("%d", &time); Lnode* list= (Lnode*)malloc(sizeof(Lnode)); Lnode* rear = list; for (int i = 1; i < 11; i++) { Lnode* p = (Lnode*)malloc(sizeof(Lnode)); p->data = i; rear->next = p; rear = p; } int num=0; for (int i = 0; i < time; i++) { scanf("%d", &num); witch(num, list); printf("本次序列是:"); Lnode* p = list->next; for (int i = 0; i < 10; i++) { printf("%d ",p->data ); p = p->next; } printf("\n"); } return 0; }

简答题:

1. C语言中除了使用指针、宏定义、位运算来提高运行效率,还采取了哪些措
施及其原因?
数据自动对齐:减少访问内存的次数
2.for(i=1; i<=n;i++) 用显示控制结构怎么表示?(用条件跳转和非条件跳转语
句表示)
i=1; Loop: if(i>n) goto END; #循环体.... i++; goto Loop; END:
do { 语句; } while(i<=n); #等价于 Loop: #循环体 if(i<=n) goto Loop; END;
if(a>b) 语句1; else 语句2; #等价于 if(a<b) goto ELSE; #语句1 goto END; ELSE: #语句2 END:

3.

有一个arr数组,numbx,都是整型,如果有以下代码,运行的结果可能
是什么?
int numb, x;
scanf("%d", &x);
for (int numb = 0; arr[numb] != x; numb++);
printf("%d",numb);
随机值,因为for循环里的numb是局部变量,打印的numb是全局变量,而全局变量没有赋值,会打出随机值

4.

根据下面的代码,填写表格。内存按2字节编址,整数占2字节,字符占1
字节,指针占4字节。每个区域的相对地址都从0开始。
啥玩意,牛头不对马嘴的
int num = 10; void main() { char* p = "CEHNGDU", q; static int snunm ; int arr[100]; char ch2; func(snunm); } void func(int m) { int n = 10; }
内存区域变量或常量名占用内存字节数
全局数据102
num2
"CHENGDU"8
静态数据区snum2
main函数区域p4
q1
arr[100]200
ch21
fun函数部分m2
n2
http://www.jsqmd.com/news/483530/

相关文章:

  • 2026年专业寻猫服务价格解析与品牌推荐 - 2026年企业推荐榜
  • 为什么DataGrip进软件的时候连接超时:connect timed out X Check region settings......如何解决?
  • 光伏PCS:储能双向功率换流器-包含双向DC/DC、3 Level逆变器、仿真与源码、原理图P...
  • 2026.3.13+14 CAD学习六--【第二张图】椭圆EL、等轴测圆EL-i、多边形POL
  • 感应电机MPTC实战手记:从代码里看磁场舞蹈
  • Linux 的 base32 命令
  • 2026年3月14日GESP五级现场直击
  • Flutter 三方库 translations_code_gen 鸿蒙适配指南 - 实现强类型国际化资产自动化编译、在 OpenHarmony 上打造编译时安全的多语言工作流实战
  • Simulink中的Boost电路模块搭建与多种闭环控制策略:传递函数验证、参数整定与伯德图分析
  • 探索 M00292:多算法雷达一维恒虚警检测 CFAR 可视化系统
  • 57c1-2四轮轮毂电机驱动汽车的DYC直接横摆力矩稳定性控制,上层控制器DYC产生横摆力矩Mz
  • Qwen2.5-72B-GPTQ-Int4效果惊艳:128K长文档关键信息定位与问答
  • 亚像素以及实现原理、方法
  • PMSM传统滑模观测器+PLL仿真模型,加上了相位补偿观测波形与实际波形基本重合。 以下图一为...
  • Flutter 三方库 aws_sqs_api 鸿蒙适配指南 - 实现分布式消息异步解耦、在 OpenHarmony 上打造高可用云端队列控制中枢实战
  • 【AOP】Spring Framework核心:AOP:静态代理 vs 动态代理(JDK动态代理 vs CGLIB)、AOP核心概念、应用场景
  • 探索 FPGA 电机控制源码:Verilog + Nios II 架构的奇妙之旅
  • REX-UniNLU网络安全应用:恶意文本智能检测系统
  • 从对象头到内存屏障,搞懂Java锁的底层原理
  • 直流调速系统Simulink仿真:包含参数设置代码、Simulink仿真模型及撰写文档
  • RP2040+CircuitPython打造可交互惊喜盒子硬件平台
  • Factory Io超大型仿真场景:全方位模拟工业生产流程
  • AIGlasses OS Pro辅助C语言学习:通过视觉分析理解指针与内存操作
  • springboot在自定义RPC框架中的使用
  • ROS系统中基于强化学习算法的移动机器人路径规划策略研究:应用DQN、DDPG、SAC及TD3算法
  • DS_store文件泄露漏洞全流程演示(在kali系统中报错时搭建虚拟环境演示以及其他方法)
  • AIGlasses_for_navigation数据存储方案:MySQL安装配置与轨迹管理
  • 洞察2026:宁夏GEO优化市场格局与头部服务商评测 - 2026年企业推荐榜
  • 国产MCU实时姿态与功耗监测系统设计
  • GRU时间序列回归预测模型:基于Matlab的详细注释代码实现