时间:2005-06-25
地点:深圳南山区
方式:闭卷,写程序

1、将一个字符串逆序
2、将一个链表逆序
3、计算一个字节里(byte)里面有多少bit被置1
4、搜索给定的字节(byte)
5、在一个字符串中找到可能的最长的子字符串
6、字符串转换为整数
7、整数转换为字符串

 
 
1、将一个字符串逆序
2、将一个链表逆序
3、计算一个字节里(byte)里面有多少bit被置1
4、搜索给定的字节(byte)
5、在一个字符串中找到可能的最长的子字符串
6、字符串转换为整数
7、整数转换为字符串
/*
* 题目:将一个字符串逆序
* 完成时间:2006.9.30深圳极讯网吧
* 版权归刘志强所有
* 描述:写本程序的目的是希望练一下手,希望下午去面试能成功,不希望国庆节之后再去找工作拉!
*/
#include <iostream>
using namespace std;
//#define NULL ((void *)0)
char * mystrrev(char * const dest,const char * const src)
{
if (dest==NULL && src==NULL)
   return NULL;
char *addr = dest;
int val_len = strlen(src);
dest[val_len] = '\0';
int i;
for (i=0; i<val_len; i++)
{
   *(dest+i) = *(src+val_len-i-1); 
}
return addr;

}
main()
{
char *str="asdfa";
char *str1=NULL;
str1 = (char *)malloc(20);
if (str1 == NULL)
   cout<<"malloc failed";
cout<<mystrrev(str1,str);
free(str1);
str1=NULL;//杜绝野指针
}

p=head;
q=p->next;
while(q!=NULL)
{
temp=q->next;
q->next=p;
p=q;
q=temp;
}
这样增加个辅助的指针就行乐。

ok 通过编译的代码:
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
typedef struct List{
int data;
struct List *next;
}List;
List *list_create(void)
{
struct List *head,*tail,*p;
int e;
head=(List *)malloc(sizeof(List));
tail=head;
printf("\nList Create,input numbers(end of 0):");
scanf("%d",&e);
while(e){
p=(List *)malloc(sizeof(List));
p->data=e;
tail->next=p;
tail=p;
scanf("%d",&e);}
tail->next=NULL;
return head;
}
List *list_reverse(List *head)
{
List *p,*q,*r;
p=head;
q=p->next;
while(q!=NULL)
{
r=q->next;
q->next=p;
p=q;
q=r;
}
head->next=NULL;
head=p;
return head;
}
void main(void)
{
struct List *head,*p;
int d;
head=list_create();
printf("\n");
for(p=head->next;p;p=p->next)
printf("--%d--",p->data);
head=list_reverse(head);
printf("\n");
for(p=head;p->next;p=p->next)
printf("--%d--",p->data);
}
 
       编写函数数N个BYTE的数据中有多少位是1。
解:此题按步骤解:先定位到某一个BYTE数据;再计算其中有多少个1。叠加得解。
#incluede<iostream>
#define N 10
//定义BYTE类型别名
#ifndef BYTE
typedef unsigned char BYTE;
#endif
int comb(BYTE b[],int n)
{
int count=0;
int bi,bj;
BYTE cc=1,tt;
//历遍到第bi个BYTE数据
for(bi=0;bi<n;bi++)
{
//计算该BYTE的8个bit中有多少个1
tt=b[bi];
       for(bj=0;bj<8;bj++)
{
         //与1相与或模2结果是否是1?测试当前bit是否为1
         //if(tt%2==1)
       if((tt&cc)==1)
{
            count++;
         }
         //右移一位或除以2,效果相同
//tt=tt>>1;
tt=tt/2;
}
}
return count;
}
//测试
int main()
{
BYTE b[10]={3,3,3,11,1,1,1,1,1,1};
cout<<comb(b,N)<<endl;
return 0;
}

1。编写一个 C 函数,该函数在一个字符串中找到可能的最长的子字符串,且该字符串是由同一字符组成的。
char * search(char *cpSource, char ch)
{
char *cpTemp=NULL, *cpDest=NULL;
int iTemp, iCount=0;
while(*cpSource)
{
if(*cpSource == ch)
{
iTemp = 0;
cpTemp = cpSource;
while(*cpSource == ch)
++iTemp, ++cpSource;
if(iTemp > iCount)
iCount = iTemp, cpDest = cpTemp;
if(!*cpSource)
break;
}
++cpSource;
}
return cpDest;
}

#include <stdio.h>
#include <string.h>
//
// 自定义函数MyAtoI
// 实现整数字符串转换为证书输出
// 程序不检查字符串的正确性,请用户在调用前检查
//
int MyAtoI(char str[])
{
int i;
int weight = 1; // 权重
int rtn = 0; // 用作返回
for(i = strlen(str) - 1; i >= 0; i--)
{
   rtn += (str[i] - '0')* weight; //
   weight *= 10; // 增重
}
return rtn;
}
void main()
{
char str[32];
printf("Input a string :");
gets(str);
printf("%d\n", MyAtoI(str));
}
 
#include<stdio.h>
#include<string.h>
void reverse(char s[])
{   //字符串反转
    int c, i=0, j;
    for(j=strlen(s)-1;i<j;j--)
    {    c=s[i];
        s[i]=s[j];
        s[j]=c;
        i++;
    }
}
void IntegerToString(char s[],int n)
{    int i=0,sign;
    if((sign=n)<0)//如果是负数,先转成正数  
        n=-n;
    do //从个位开始变成字符,直到最高位,最后应该反转
    {    s[i++]=n%10+'0';
    }while((n=n/10)>0);
    //如果是负数,补上负号
    if(sign<0)
        s[i++]='-';
    s[i]='\0';//字符串结束
    reverse(s);
}
void main()
{    int m;
    char c[100];
    printf("请输入整数m: ");
    scanf("%d",&m);
    IntegerToString(c,m);
    printf("integer = %d string = %s\n", m, c);
}

文章出处:http://www.diybl.com/course/6_system/linux/Linuxxl/2008910/141721.html

<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>

阅读(61) | 评论(0) | 转发(0) |

0

上一篇:char *s="string"和char s[]="string"的区别

下一篇:Linux下samba的安装与配置

相关热门文章
  • CNN总结
  • DB2+HADR+TSA高可用性测试--HA...
  • 定位Linux下定位进程被谁KILL...
  • Tomcat 8在CentOS 7的守护进程...
  • Hive源码分析:Driver类运行过...
  • linux 常见服务端口
  • xmanager 2.0 for linux配置
  • 【ROOTFS搭建】busybox的httpd...
  • openwrt中luci学习笔记
  • 什么是shell
  • linux dhcp peizhi roc
  • 关于Unix文件的软链接
  • 求教这个命令什么意思,我是新...
  • sed -e "/grep/d" 是什么意思...
  • 谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
评论热议

嵌入式软件笔试(转载)相关推荐

  1. 《深入理解计算机系统》(CSAPP)读书笔记 —— 第三章 程序的机器级表示

    本章主要介绍了计算机中的机器代码--汇编语言.当我们使用高级语言(C.Java等)编程时,代码会屏蔽机器级的细节,我们无法了解到机器级的代码实现.既然有了高级语言,我们为什么还需要学习汇编语言呢?学习 ...

  2. 今年是嵌入式香还是互联网香?

    大家好,我是大师兄. 今年校招形势确实比较严峻,想起互联网大厂去年高薪抢人,2022年校招鹅厂白菜总包40w历历在目: 鹅厂打响互联网大厂校招第一枪! 现在看起来,如同回光返照,不胜唏嘘,大部人的互联 ...

  3. 兆易创新嵌入式软件工程师笔试题目解析

    哈喽,大家好.今天分享的是兆易创新的嵌入式软件开发工程师的笔试题目.这份题目中等难度,考察基础知识的偏多,最后的编程题只考了一个结构体数组的初始化.所以,在准备校招时,将重点还是要放在基础知识上.下面 ...

  4. 北京联发科嵌入式软件工程师笔试题目解析

    最近在写大论文,头都要秃了,技术文章也更不动了.去年参加秋招的时候,记录了一些笔试题目,今天整理了下答案,供大家参考.最近几周,我都会发一些大厂笔试的题目和答案.今天分享的是北京联发科提前批嵌入式软件 ...

  5. (转载)c/c++笔试面试题(2)

    c/c++笔试面试题(2) 2007-11-08 16:43 464人阅读 评论(0) 收藏 举报 int Strcmp(char *str1, char *str2) {    int i=0;   ...

  6. 笔试一道honor的嵌入式软件程序编写题目【c语言字符串】

    笔试一道honor的嵌入式软件程序编写题目 - 题目要求: 原题目:[给定一个字符串,将该字符串中的大写字母全部转换为小写,并将字母转换为数字0,最后将处理的字符串倒序输出.] 解析:[要求输入一组字 ...

  7. 小米嵌入式软件工程师笔试题目解析

    今天分享的是小米的嵌入式软件开发工程师的笔试题目.这份题目很奇怪,操作系统,数据结构,网络基础,Java,C++,数据库,正则表达式,Linux都考到了.当时做题的时候,我都怀疑发错卷子了...还好最 ...

  8. c#笔试基础(转载)

    技术类面试.笔试题汇总 注:标明*的问题属于选择性掌握的内容,能掌握更好,没掌握也没关系. 下面的参考解答只是帮助大家理解,不用背,面试题.笔试题千变万化,不要梦想着把题覆盖了,下面的题是供大家查漏补 ...

  9. 【转载】实时嵌入式软件开发的25个常见错误

    原文地址:http://blog.csdn.net/myaccella/article/details/7003308 英文原文由David B. Stewart撰写,  这篇论文对实时嵌入式软件开发 ...

最新文章

  1. 音视频编解码的国际标准
  2. 计算机软件基础02243知识点,02243计算机软件基础(一) 历年真题
  3. 订单操作-分页查询所有订单
  4. django在nginx uwsgi和tornado异步方案在项目中的体验
  5. 两数之和,输入有序数组 leetcode C++
  6. spring分布式事务示例_Spring声明式事务示例
  7. 原来这就是比 ThreadLocal 更快的玩意
  8. Node.js--Stream
  9. GDC2016 【巫师3 狂猎】的游戏事件工作流
  10. java 数据库备份 linux,java邮件打包在linux备份数据库练习
  11. html添加兄弟元素,jquery插入兄弟节点的操作方法
  12. 基于MUI框架的影视播放APP的设计与实现毕业设计论文参考【原查重5.1%】
  13. php商城教学视频教程,布尔教育ThinkPHP商城实战视频教程的课件源码分享
  14. 三凌PLC源码,STM32F205VCT6主控PLC控制器板,已批量生产
  15. (转)当android调试遇到ADB server didn't ACK以及顽固的sjk_daemon进程 .
  16. 小孟5w接了个盲盒小程序,三周开发完毕
  17. fedora利用vmlinuz和initrd制作linux启动u盘,fedora 14 livecd从U盘启动安装方法
  18. WPF真入门教程20--数据排序
  19. 指针的类型和指针所指向的类型
  20. 我的Android进阶之旅:经典的大牛博客推荐

热门文章

  1. 2022-4-16 服务器集中写
  2. 关于微信编辑器,我有话说~~~
  3. Automation服务器不能创建对象(金税盘)
  4. 我想要的 python 特性
  5. [Android测试] AS+Appium+Java+Win 自动化测试之九:PO模式的实例与ReportNg测试报告
  6. 自考计算机组装与维修试卷,贵州自考计算机组装与维护模拟试卷一
  7. solidworks电气元件3d库_Solidworks标准件模型库非标设计国标件 SW素材模板
  8. gitbook 插入图片_docsify 入坑指南与我放弃 Gitbook 的那些理由
  9. 量具管理系统-数据分析
  10. [开源]java版QQ机器人集成小黄鸡功能