科大讯飞2021笔试题
嵌入式Linux
共 6306字,需浏览 13分钟
· 2021-04-19
来源于读者投稿,作者Angel
笔试时间:2020.09.12,19:00——21:00
岗位:嵌入式软件开发
题型:四道编程题,4*10=40分
题目
1、定义一个n*m矩阵,找到两个不在同一行同一列的数字,使得成绩最大。
2、输入一个数N,求数的二进制中1的个数(已AC)
//写一个函数返回参数的二进制中1的个数
#include<stdio.h>
#include<stdlib.h>
int count_one_bits(unsigned int value)
{
int count = 0;
while (value != 0)
{
if (value % 2 == 1)
{
count++;
}
value = value >>1;
}
return count;
}
int main()
{
int num;
int ret;
printf("请输入一个大于0的数\n");
scanf("%d", &num);
ret=count_one_bits(num);
printf("%d", ret);
system("pause");
return 0;
}
3、数组的排序(时间复杂度最小),应该是让你用冒泡或者选择排序。
题型是给了一种排序算法的中间过程,让你认出是哪一种排序,然后写代码。
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
void sortA1(int a[], int length){
int i, j, temp;
for(i = 0; i < length; ++i){
for(j = i + 1; j < length; ++j){
if(a[j] < a[i]){ //如果后一个元素小于前一个元素则交换
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
}
void printA1(int a[], int length){
int i;
for(i = 0; i < length; ++i){
printf("%d,", a[i]);
}
printf("\n");
}
void sortA2(int a[], int length){
int i, j, temp;
for(i = 0; i < length; ++i){
for(j = length - 1; j > i; --j){
if(a[j] > a[j - 1]){
temp = a[j];
a[j] = a[j - 1];
a[j - 1] = temp;
}
}
}
}
int main(){
int length = 0;
int a[] = {12, 43, 8, 50, 100, 52,0};
length = sizeof(a) / sizeof(a[0]);
printf("排序前\n");
printA1(a, length);
sortA1(a, length);
printf("选择排序后\n");
printA1(a, length);
sortA2(a, length);
printf("冒泡排序后\n");
printA1(a, length);
system("pause");
}
4、字符串左旋(case 20%,不知道是哪里没考虑到,读者可以尝试)
输入 1234abcd , 左旋3
输出 4abcd123
void swap(char *start, char *end)
{
while (start < end)
{
*start ^= *end;
*end ^= *start;
*start ^= *end;
start++, end--;
}
}
void reverse_left_2(char *str, int n, int len)
{
char *mid = NULL;//定义一个指针,将指向左旋分段点
n %= len;//判断左旋的有效次数
mid = str + n - 1;//指向分段点的最后一个字符
swap(str, mid);//逆置前一段字符串
swap(mid + 1, str + len - 1);//逆置后一段字符串
swap(str, str + len - 1);//整个字符串逆置
}
int main()
{
char str[] = "abcd1234";
int n = 0, len = strlen(str);
printf("please enter->");
scanf("%d", &n);//输入左旋的次数
printf("before reverse_left string is :%s\n", str);
reverse_left_2(str, n, len);
printf("reverse_left string is :%s\n", str);
system("pause");
return 0;
}
·················· END ··················
点击关注公众号,免费领学习资料
欢迎大家关注我的微信公众号,定期给大家分享C语言、单片机、嵌入式Linux、硬件设计、代码人生相关文章。公众号内回复【电子书】即可获得嵌入式全套500本全套电子书。回复【入群】即可加入嵌入式技术交流群。
我创建了知识星球,欢迎大家扫码加入。在知识星球中有问必答。提供全套的嵌入式学习规划、嵌入式学习资料、简历指导、嵌入式求职规划、嵌入式笔试面试指导、公司推荐等。
评论
展讯平台手机重启问题分析指南
和你一起终身学习,这里是程序员Android经典好文推荐,通过阅读本文,您将收获以下知识点:一、 User 版本 默认开启 sysdump 方法二、插入SD卡 抓取Sysdump log三、 sysdump log 分析四、展讯平台抓取重启 串口log的方案五、展讯平台判断重启类型六、展讯平台关闭
程序员Android
0
医讯 · 江苏省人民医院专家团队4月20日来盱眙县人民医院开展义诊等诊疗活动
党建引领聚合力,共建交流惠民生。4月20日上午,江苏省人民医院胃外科、胰腺外科、结直肠外科、神经外科、骨科、整形烧伤外科、甲状腺外科、肝胆外科、泌尿外科、心脏大血管外科、眼科、耳鼻咽喉科、医学影像科等20多位医疗专家将来盱眙县人民医院开展大型义诊、教学查房、学术讲座等诊疗活动。义诊地址:门诊一楼大厅
盱眙老妹
0
京都威斯汀酒店“攻城价”玩砸了?飞猪陷入流量思维陷阱
企业之间的竞争形式有很多,但是直接把“战火”烧到台面的却不多见。近日,阿里巴巴旗下的在线旅游平台飞猪高调推出针对日本京都威斯汀酒店套餐预订的“攻城价”,业界人士认为显然是对标携程,颇有一种向携程正面“宣战”...
天方燕谈
0
星舰完成第三飞?中国为何出不了SpaceX?
北京时间3月14日21时25分,美国太空探索公司SpaceX的星舰(Starship)组合体(B10+S28)在德州博卡奇卡起飞,这是自2023年4月以来SpaceX星舰第三次飞行任务。星舰点火发射后,一级B10飞行正常,全部33台发动机稳定工...
卫星与网络
0
腾讯年报:微信生态带飞,最佳投资标的正是鹅厂自己
3月20日,腾讯正式公布2023年和四季度财报。数据显示腾讯在四季度收入同比增长7%至1552亿元,毛利同比增长25%至776亿元,期内盈利大幅下滑74%,但这主要是由于去年同期有出售美团股票带来的过千亿高额收益,非国际财...
企鹅生态
0
狐讯 | 苹果 iOS 再面临侧载压力;广汽三菱正式更名易主
苹果 iOS 再面临侧载压力 据俄新社报道,俄罗斯联邦数字发展部正在推动一项与欧盟 DMA 法案类似的立法,要求苹果公司向 iPhone 等用户开放安装第三方应用商店的权限。 俄罗斯 ROCIT 董事会主席称:目前俄罗斯相关部...
胡乐枫
0
阿里飞猪供应链算法之推荐和选品模型
导读 本文将分享飞猪旅行在酒店供应链品类规划方面的算法。 今天的介绍会围绕下面四点展开: 1. 品类规划业务背景介绍 2. LINet-基于位置和出行意图感知的群组推荐模型 3. PETS-满足召回约束下的大促选品模型 4...
强少来了
0